[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20150218174533.GB31566@gmail.com>
Date: Wed, 18 Feb 2015 18:45:33 +0100
From: Ingo Molnar <mingo@...nel.org>
To: Jason Baron <jbaron@...mai.com>
Cc: peterz@...radead.org, mingo@...hat.com, viro@...iv.linux.org.uk,
akpm@...ux-foundation.org, normalperson@...t.net,
davidel@...ilserver.org, mtk.manpages@...il.com,
linux-kernel@...r.kernel.org, linux-fsdevel@...r.kernel.org,
linux-api@...r.kernel.org, Thomas Gleixner <tglx@...utronix.de>,
Linus Torvalds <torvalds@...ux-foundation.org>,
Peter Zijlstra <a.p.zijlstra@...llo.nl>
Subject: Re: [PATCH v2 2/2] epoll: introduce EPOLLEXCLUSIVE and
EPOLLROUNDROBIN
* Jason Baron <jbaron@...mai.com> wrote:
> So in the case of multiple threads per epoll set, we
> currently add to the head of wakeup queue exclusively in
> 'epoll_wait()', and then subsequently remove from the
> queue once 'epoll_wait()' returns. So I don't think this
> patch addresses balancing on a per epoll set basis.
Okay, so I was confused about how the code works.
> I think we could address the case you describe by simply
> doing __add_wait_queue_tail_exclusive() instead of
> __add_wait_queue_exclusive() in epoll_wait(). [...]
Yes.
> [...] However, I think the userspace API change is less
> clear since epoll_wait() doesn't currently have an
> 'input' events argument as epoll_ctl() does.
... but the change would be a bit clearer and somewhat more
flexible: LIFO or FIFO queueing, right?
But having the queueing model as part of the epoll context
is a legitimate approach as well.
Thanks,
Ingo
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists