Messages in this thread | | | Date | Wed, 10 Aug 2016 15:06:26 -0400 | From | Tejun Heo <> | Subject | Re: [PATCHSET percpu/for-4.4] percpu_ref: make mode switching operations synchronize themselves |
| |
On Tue, Sep 29, 2015 at 05:47:15PM -0400, Tejun Heo wrote: > Hello, > > Mostly for historical reasons, percpu_ref atomic/percpu mode switching > operations require the users to synchronize different operations > although there are valid usage scenarios where different types of > operations racing against each other makes sense. This unusual > requirement led to a subtle race condition in blk-mq which was spotted > by Akinobu Mita[1]. > > Akinobu proposed a blk-mq specific fix where it adds an enclosing > mutex around the percpu_ref operations; however, this is a percpu_ref > deficiency and fixing it at the source is the better long term > approach. Unfortunately, this ended up being a somewhat invasive set > of changes and the right thing to do likely is applying Akinobu's fix > for 4.3 / -stable, applying this patchset for 4.4 window and reverting > Akinobu's patch after the 4.4 merge window. > > Akinobu, can you please verify that this patchset makes the race > condition go away?
Okay, this patchset got forgotten while waiting response from Akinobu. I'm applying the patchset to percpu/for-4.9 as the changes are general improvements to percpu_refcnt.
Thanks.
-- tejun
| |