Re: [PATCH v2] pack-objects: Use packing_data lock instead of read_mutex

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, Jan 22, 2019 at 5:43 PM Junio C Hamano <gitster@xxxxxxxxx> wrote:
>
> Patrick Hogg <phogg@xxxxxxxxxxxx> writes:
>
> > As I mentioned in the prior thread I think that it will be simpler
> > to simply use the existing lock in packing_data instead of moving
> > read_mutex. I can go back to simply moving read_mutex to the
> > packing_data struct if that that is preferable, though.
>
> I'll let others comment on this to show preference between the two
> approaches.
>
> > I also removed the #ifndef NO_PTHREADS in prepare_packing_data around
> > the initialization of &pdata->lock since I had to upgrade the lock to
> > a recursive mutex. As far as I can tell init_recursive_mutex (and
> > pthread_mutex_init for that matter) have that protection already so it
> > appears to be redundant.
>
> If you can defer "I also" to a separate patch, please do so.
> Keeping the fix alone as small as possible and not tangled with
> other changes would make it easier for people to cherry-pick the fix
> to older maintenance tracks if they choose to.

That's a fair point.  To confirm (as I'm rather new to submitting git
patches), do you mean to submit a two-patch series or to just leave
out the #ifndef removal altogether for now?

If this does become a two patch series I could simply move the
read_mutex to packing_data in the first patch and merge the two
mutexes (and remove the #ifndef) in the second.  That would keep the
fix alone even smaller (just the first patch) to simplify
cherry-picking.

(There is also the option of going back to the v1 change and
correcting the cleanup in the early return.)

I just want to confirm preferences first before submitting a v3 to
avoid spamming patches; I'll go whichever way the experts think is
best.

Thanks,
-Patrick



[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux