  We present an improved $(\epsilon, \delta)$-jointly differentially private
algorithm for packing problems. Our algorithm gives a feasible output that is
approximately optimal up to an $\alpha n$ additive factor as long as the supply
of each resource is at least $\tilde{O}(\sqrt{m} / \alpha \epsilon)$, where $m$
is the number of resources. This improves the previous result by Hsu et
al.~(SODA '16), which requires the total supply to be at least $\tilde{O}(m^2 /
\alpha \epsilon)$, and only guarantees approximate feasibility in terms of
total violation. Further, we complement our algorithm with an almost matching
hardness result, showing that $\Omega(\sqrt{m \ln(1/\delta)} / \alpha
\epsilon)$ supply is necessary for any $(\epsilon, \delta)$-jointly
differentially private algorithm to compute an approximately optimal packing
solution. Finally, we introduce an alternative approach that runs in linear
time, is exactly truthful, can be implemented online, and can be
$\epsilon$-jointly differentially private, but requires a larger supply of each
resource.
