Re: [RFC PATCH] locking/percpu-rwsem: use this_cpu_{inc|dec}() for read_count

From: Boaz Harrosh
Date: Thu Sep 17 2020 - 09:54:42 EST

On 17/09/2020 15:48, Matthew Wilcox wrote:
On Thu, Sep 17, 2020 at 02:01:33PM +0200, Oleg Nesterov wrote:

If we change bio_endio to invoke the ->bi_end_io callbacks in softirq
context instead of hardirq context, we can change the pagecache to take
BH-safe locks instead of IRQ-safe locks. I believe the only reason the
lock needs to be IRQ-safe is for the benefit of paths like:

From my totally subjective experience on the filesystem side (user of bio_endio) all HW block drivers I used including Nvme isci, sata... etc. end up calling bio_endio in softirq. The big exception to that is the vdX drivers under KVM. Which is very Ironic to me.
I wish we could make all drivers be uniform in this regard.

But maybe I'm just speaking crap. Its only from my limited debuging expirience.