[Devel] [PATCH vz9 v2 00/65] ploop optimistations and scalling
Pavel Tikhomirov
ptikhomirov at virtuozzo.com
Thu Feb 13 08:40:28 MSK 2025
On 2/12/25 17:46, Alexander Atanasov wrote:
> On 12.02.25 11:32, Konstantin Khorenko wrote:
>> Ploop processes requsts in a different threads in parallel
>> where possible which results in significant improvement in
>> performance and makes further optimistations possible.
>>
>> v1:
>> - addressed feedback, i've left a few requests to merge changes
>> into bigger patches out, as to keep changes in smaller chunks
>> - patches merged and separated changes - generic cleanup
>> - fix endio for md page writeback
>> - background async allocation of space
>> - move enospc pios dispatch from timer to thread
>> - fixed allocations in atomic context
>> - fixed locking wrt userspace/interrupt context
>> - reworked discard cleanup
>> - removed workqueue, only use kthread code
>> - make metadata writeback works in parallel
>> - end fsync pios in parallel
>> - fixed current flags manipulation
>>
>> v2:
>> - commit "dm-ploop: introduce pio.llist" appeared
>> It introduces the the pio.llist along with pio.list, gathered in an
>> union, so during the processes of switching between list users and
>> llist users, we could use appropriate fields without strict pointers
>> casts.
>
>
> No, we should not add things that later will be removed - instead union,
> please change type and remove casts.
Adding things what will be removed in the same series is generally not a
good practice, correct.
But, in this exact case this addition/removal is justified as it helps
with the transition and makes other patches correct (no tricks with gcc
type checking now) and more human readable. Readability is the key.
>
>
--
Best regards, Tikhomirov Pavel
Senior Software Developer, Virtuozzo.
More information about the Devel
mailing list