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]

 



Patrick Hogg <phogg@xxxxxxxxxxxx> writes:

> 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?

Either would work ;-)

> 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.)

Yes, but as I said, I'll let others show their preferences between
approaches v1/v2.



[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