ep_insert(): we only need tep->mtx around the insertion itself
authorAl Viro <viro@zeniv.linux.org.uk>
Sat, 26 Sep 2020 22:15:26 +0000 (18:15 -0400)
committerAl Viro <viro@zeniv.linux.org.uk>
Mon, 26 Oct 2020 00:02:02 +0000 (20:02 -0400)
commit85353e919f6eb28ee4a797b06de8cc4c48dec2d7
treedd06595fc7c89297b0cda5c5384b6f29e2e012f3
parente3e096e7fc30c28cfc53fe8a1e265d65b85f60bb
ep_insert(): we only need tep->mtx around the insertion itself

We do need ep->mtx (and we are holding it all along), but that's
the lock on the epoll we are inserting into; locking of the
epoll being inserted is not needed for most of that work -
as the matter of fact, we only need it to provide barriers
for the fastpath check (for now).

Move taking and releasing it into ep_insert().  The caller
(do_epoll_ctl()) doesn't need to bother with that at all.
Moreover, that way we kill the kludge in ep_item_poll() - now
it's always called with tep unlocked.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
fs/eventpoll.c