Thread (30 messages) 30 messages, 4 authors, 2018-09-19

Re: [PATCH] percpu-refcount: relax limit on percpu_ref_reinit()

From: Ming Lei <hidden>
Date: 2018-09-10 02:28:01
Also in: lkml

On Sun, Sep 09, 2018 at 11:46:20AM -0700, Bart Van Assche wrote:
On Sun, 2018-09-09 at 20:58 +0800, Ming Lei wrote:
quoted
Now percpu_ref_reinit() can only be done on one percpu refcounter
when it drops zero. And the limit shouldn't be so strict, and it
is quite straightforward that percpu_ref_reinit() can be done when
this counter is at atomic mode.

This patch relaxes the limit, so we may avoid extra change[1] for NVMe
timeout's requirement.

[1] https://marc.info/?l=linux-kernel&m=153612052611020&w=2
Is the NVMe driver the only block driver that hangs if it is attempted to
freeze its request queue when a request times out? If so, can this hang be
fixed by modifying the NVMe driver instead of by modifying the percpu
refcount implementation?
IMO, this patch is quite simple and it should be much simpler than
solving this issue in block layer or NVMe, could we focus on the
technical correctness of this patch first?

However if anyone has better/simpler solution for this issue on any
change, I am open to them too.

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