On 1/10/25 16:19, Alexander Atanasov wrote:
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.
That contradicts Linux Kernel codding style guide:
> If there is no cleanup needed then just return directly.
https://www.kernel.org/doc/html/v4.10/process/coding-style.html#centralized-exiting-of-functions
}
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);
}
--
Best regards, Tikhomirov Pavel
Senior Software Developer, Virtuozzo.
_______________________________________________
Devel mailing list
Devel@openvz.org
https://lists.openvz.org/mailman/listinfo/devel