Thread (19 messages) 19 messages, 2 authors, 2021-11-25

Re: [PATCH net-next 5/6] devlink: Reshuffle resource registration logic

From: Leon Romanovsky <leon@kernel.org>
Date: 2021-11-19 15:38:59
Also in: intel-wired-lan, linux-rdma, lkml

On Thu, Nov 18, 2021 at 05:48:13PM -0800, Jakub Kicinski wrote:
On Thu, 18 Nov 2021 09:50:20 +0200 Leon Romanovsky wrote:
quoted
And it shouldn't. devlink_resource_find() will return valid resource only
if there driver is completely bogus with races or incorrect allocations of
resource_id.

devlink_*_register(..)
 mutex_lock(&devlink->lock);
 if (devlink_*_find(...)) {
    mutex_unlock(&devlink->lock);
    return ....;
 }
 .....

It is almost always wrong from locking and layering perspective the pattern above,
as it is racy by definition if not protected by top layer.

There are exceptions from the rule above, but devlink is clearly not the
one of such exceptions.
Just drop the unnecessary "cleanup" patches and limit the amount 
of driver code we'll have to revert if your approach fails.
My approach works, exactly like it works in other subsystems.
https://lore.kernel.org/netdev/cover.1636390483.git.leonro@nvidia.com/ (local)

We are waiting to see your proposal extended to support parallel devlink
execution and to be applied to real drivers.
https://lore.kernel.org/netdev/20211030231254.2477599-1-kuba@kernel.org/ (local)

Anyway, you are maintainer, you want half work, you will get half work.
I spent enough time going back and forth with you.

Please.
Disagreements are hard for everyone, not only for you.

Thanks
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help