[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20180315145339.GE4082@hirez.programming.kicks-ass.net>
Date: Thu, 15 Mar 2018 15:53:39 +0100
From: Peter Zijlstra <peterz@...radead.org>
To: David Howells <dhowells@...hat.com>
Cc: Dan Williams <dan.j.williams@...el.com>,
linux-nvdimm <linux-nvdimm@...ts.01.org>,
Ingo Molnar <mingo@...hat.com>, Christoph Hellwig <hch@....de>,
david <david@...morbit.com>,
linux-xfs <linux-xfs@...r.kernel.org>,
linux-fsdevel <linux-fsdevel@...r.kernel.org>,
Jan Kara <jack@...e.cz>,
Ross Zwisler <ross.zwisler@...ux.intel.com>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
Ralf Baechle <ralf@...ux-mips.org>
Subject: Re: [RFC][PATCH] sched/wait_bit: Introduce
wait_var_event()/wake_up_var()
On Thu, Mar 15, 2018 at 02:45:20PM +0000, David Howells wrote:
> Peter Zijlstra <peterz@...radead.org> wrote:
>
> > Does the below address things sufficiently clear?
>
> Yep.
Thanks!
> > +wait_queue_head_t *__var_waitqueue(void *p)
> > +{
> > + if (BITS_PER_LONG == 64) {
> > + unsigned long q = (unsigned long)p;
> > +
> > + return bit_waitqueue((void *)(q & ~1), q & 1);
> > + }
> > + return bit_waitqueue(p, 0);
> > +}
>
> You might be better off not using bit_waitqueue() but rather do the
> calculation directly since you don't actually have a bit number.
Yes, I did that in patch 11. The initial version uses the exact same
stuff wait_on_atomic_t() uses to avoid spurious changes.
Powered by blists - more mailing lists