From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from szxga05-in.huawei.com ([45.249.212.191]:9537 "EHLO szxga05-in.huawei.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751167AbdJ1Mw2 (ORCPT ); Sat, 28 Oct 2017 08:52:28 -0400 From: Hou Tao To: CC: , , , , , Subject: [RFC][PATCH 1/8] epoll: remove epmutex from ep_free() & eventpoll_release_file() Date: Sat, 28 Oct 2017 20:58:20 +0800 Message-ID: <1509195507-29037-2-git-send-email-houtao1@huawei.com> In-Reply-To: <1509195507-29037-1-git-send-email-houtao1@huawei.com> References: <1509195507-29037-1-git-send-email-houtao1@huawei.com> MIME-Version: 1.0 Content-Type: text/plain Sender: linux-fsdevel-owner@vger.kernel.org List-ID: Remove the global epmutex from ep_free() and eventpoll_release_file(). In the later patches, we will add locks with a smaller granularity to serve the same purposes of epmutex. Signed-off-by: Hou Tao --- fs/eventpoll.c | 4 ---- 1 file changed, 4 deletions(-) diff --git a/fs/eventpoll.c b/fs/eventpoll.c index 2fabd19..26ab0c5 100644 --- a/fs/eventpoll.c +++ b/fs/eventpoll.c @@ -835,7 +835,6 @@ static void ep_free(struct eventpoll *ep) * anymore. The only hit might come from eventpoll_release_file() but * holding "epmutex" is sufficient here. */ - mutex_lock(&epmutex); /* * Walks through the whole tree by unregistering poll callbacks. @@ -863,7 +862,6 @@ static void ep_free(struct eventpoll *ep) } mutex_unlock(&ep->mtx); - mutex_unlock(&epmutex); mutex_destroy(&ep->mtx); free_uid(ep->user); wakeup_source_unregister(ep->ws); @@ -1013,14 +1011,12 @@ void eventpoll_release_file(struct file *file) * * Besides, ep_remove() acquires the lock, so we can't hold it here. */ - mutex_lock(&epmutex); list_for_each_entry_safe(epi, next, &file->f_ep_links, fllink) { ep = epi->ep; mutex_lock_nested(&ep->mtx, 0); ep_remove(ep, epi); mutex_unlock(&ep->mtx); } - mutex_unlock(&epmutex); } static int ep_alloc(struct eventpoll **pep) -- 2.7.5