[Devel] [RFC PATCH vz9 v6 10/62] dm-ploop: convert the rest of the lists to use llist variant
Alexander Atanasov
alexander.atanasov at virtuozzo.com
Fri Jan 10 11:19:09 MSK 2025
On 10.01.25 10:14, Pavel Tikhomirov wrote:
>
>
> On 12/6/24 05:55, Alexander Atanasov wrote:
>> @@ -1871,18 +1901,16 @@ static void ploop_submit_embedded_pio(struct
>> ploop *ploop, struct pio *pio)
>> worker = &ploop->fsync_worker;
>> }
>> - spin_lock_irqsave(&ploop->deferred_lock, flags);
>> if (unlikely(ploop->stop_submitting_pios)) {
>> llist_add((struct llist_node *)(&pio->list),
>> &ploop->llsuspended_pios);
>> queue = false;
>> - goto unlock;
>> + goto out;
>
> Maybe just return here? We only set queue to false in this branch and
> one more where we can just return instead, so we can, probably, also
> remove queue variable in this patch.
To have a single return point in the function, i see there is a return
so may be i'll change it to a goto too.
>
>> }
>> ploop_inc_nr_inflight(ploop, pio);
>> - list_add_tail(&pio->list, &ploop->pios[pio->queue_list_id]);
>> -unlock:
>> - spin_unlock_irqrestore(&ploop->deferred_lock, flags);
>> + llist_add((struct llist_node *)(&pio->list),
>> &ploop->pios[pio->queue_list_id]);
>> +out:
>> if (queue)
>> queue_work(ploop->wq, worker);
>> }
>
--
Regards,
Alexander Atanasov
More information about the Devel
mailing list