[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <552d4502-0b0a-87fc-7b16-6b322c3af3ed@kernel.dk>
Date: Fri, 29 Sep 2017 02:17:32 +0200
From: Jens Axboe <axboe@...nel.dk>
To: Linus Torvalds <torvalds@...ux-foundation.org>,
Andrew Morton <akpm@...ux-foundation.org>
Cc: Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
linux-fsdevel <linux-fsdevel@...r.kernel.org>,
Johannes Weiner <hannes@...xchg.org>, Jan Kara <jack@...e.cz>
Subject: Re: [PATCH 10/12] writeback: only allow one inflight and pending full
flush
On 09/28/2017 11:44 PM, Linus Torvalds wrote:
> On Thu, Sep 28, 2017 at 2:41 PM, Andrew Morton
> <akpm@...ux-foundation.org> wrote:
>>
>> test_and_set_bit()?
>
> If there aren't any atomicity concerns (either because of higher-level
> locking, or because racing and having two people set the bit is fine),
> it can be better to do them separately if the test_bit() is the common
> case and you can avoid dirtying a cacheline that way.
>
> But yeah, if that is the case, it might be worth documenting, because
> test_and_set_bit() is the more obviously appropriate "there can be
> only one" model.
It is documented though, but maybe not well enough...
I've actually had to document/explain it enough times now, that it
might be worth making a general construct. Though it has to be
used carefully, so perhaps it's better contained as separate use
cases.
--
Jens Axboe
Powered by blists - more mailing lists