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

From: Dave Chinner
Date: Sun Sep 20 2020 - 19:50:03 EST


On Fri, Sep 18, 2020 at 03:26:35PM +0200, Jan Kara wrote:
> On Fri 18-09-20 15:09:14, Oleg Nesterov wrote:
> > On 09/18, Peter Zijlstra wrote:
> > > > But again, do we really want this?
> > >
> > > I like the two counters better, avoids atomics entirely, some archs
> > > hare horridly expensive atomics (*cough* power *cough*).
> >
> > I meant... do we really want to introduce percpu_up_read_irqsafe() ?
> >
> > Perhaps we can live with the fix from Hou? At least until we find a
> > "real" performance regression.
>
> I can say that for users of percpu rwsem in filesystems the cost of atomic
> inc/dec is unlikely to matter. The lock hold times there are long enough
> that it would be just lost in the noise.

I'm not sure that is correct. We do an inc/dec pair per AIO, so if
we are running millions of IOPS through the AIO subsystem, then the
cost of doing millions of extra atomic ops every second is going to
be noticable...

Cheers,

Dave.
--
Dave Chinner
david@xxxxxxxxxxxxx