[Devel] [RFC PATCH vz9 v6 14/62] dm-ploop: move preparations of pios into the caller from worker

Alexander Atanasov alexander.atanasov at virtuozzo.com
Fri Dec 13 12:00:40 MSK 2024


On 13.12.24 10:52, Andrey Zhadchenko wrote:
> 
> 
> On 12/5/24 22:55, Alexander Atanasov wrote:
>> Prepare pios earlier in preparation to try to execute them earlier.
>> Convert more places to use lock less lists.
>>
>> https://virtuozzo.atlassian.net/browse/VSTOR-91820
>> Signed-off-by: Alexander Atanasov <alexander.atanasov at virtuozzo.com>
>> ---
>>   drivers/md/dm-ploop-map.c | 95 ++++++++++++++++++++++++---------------
>>   1 file changed, 60 insertions(+), 35 deletions(-)
>>
>> diff --git a/drivers/md/dm-ploop-map.c b/drivers/md/dm-ploop-map.c
>> index 8d165bd4fa9d..475494b951a3 100644
>> --- a/drivers/md/dm-ploop-map.c
>> +++ b/drivers/md/dm-ploop-map.c
>> @@ -292,11 +292,15 @@ static struct pio 
>> *ploop_split_and_chain_pio(struct ploop *ploop,
>>   ALLOW_ERROR_INJECTION(ploop_split_and_chain_pio, NULL);
>>   static int ploop_split_pio_to_list(struct ploop *ploop, struct pio 
>> *pio,
>> -                 struct list_head *ret_list)
>> +                 struct llist_head *ret_list)
>>   {

[...snip ....]

>> &deferred_pios);
>> +    llflush_pios = llist_del_all(&ploop->pios[PLOOP_LIST_FLUSH]);
>> +    smp_wmb(); /* */
> 
> For what do we need this memory barrier?

We do not need it, i've missed to remove it - it was part of something 
that didn't worked out - i will remove it along with other barriers i 
forgot.

-- 
Regards,
Alexander Atanasov



More information about the Devel mailing list