[Devel] [RFC PATCH vz9 v3 07/11] ploop: convert wait_list and wb_batch_llist to use lockless lists
Andrey Zhadchenko
andrey.zhadchenko at virtuozzo.com
Thu Oct 24 11:09:44 MSK 2024
On 10/24/24 10:07, Alexander Atanasov wrote:
> On 24.10.24 11:04, Andrey Zhadchenko wrote:
>>
>>
>> On 10/21/24 12:13, Alexander Atanasov wrote:
>
>>> @@ -775,7 +775,6 @@ static void
>>> ploop_advance_local_after_bat_wb(struct ploop *ploop,
>>> i = PLOOP_MAP_OFFSET;
>>> dst_clu = piwb->kmpage;
>>> - write_lock_irqsave(&ploop->bat_rwlock, flags);
>>
>> This unfrotunately won't do, since on discard we do in cycle
>> ploop_piwb_discard_completed()->ploop_release_cluster()->lockdep_assert_held(&ploop->bat_rwlock);
>> I will rework this place anyway though.
>>
>
> I see there is an lockdep_assert_held but did you figure out exactly
> what is protecting the lock there?
>
Current code tries to protect BAT pages against concurrent modifications
(namely IO against user-initiated commands like flip delta, etc) with
bat_rwlock
More information about the Devel
mailing list