From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754695Ab2FFIRD (ORCPT ); Wed, 6 Jun 2012 04:17:03 -0400 Received: from cn.fujitsu.com ([222.73.24.84]:47172 "EHLO song.cn.fujitsu.com" rhost-flags-OK-FAIL-OK-OK) by vger.kernel.org with ESMTP id S1752555Ab2FFIPW (ORCPT ); Wed, 6 Jun 2012 04:15:22 -0400 X-IronPort-AV: E=Sophos;i="4.75,722,1330876800"; d="scan'208";a="5122728" From: Lai Jiangshan Cc: Ingo Molnar , Peter Zijlstra , Tejun Heo , Al Viro , "H. Peter Anvin" , Ian Campbell , Paul Gortmaker , Mel Gorman , Michal Hocko , linux-mm@kvack.org, linux-kernel@vger.kernel.org, Lai Jiangshan Subject: [PATCH 4/7] highmem: remove pool_lock Date: Wed, 6 Jun 2012 16:14:58 +0800 Message-Id: <1338970501-5098-4-git-send-email-laijs@cn.fujitsu.com> X-Mailer: git-send-email 1.7.4.4 In-Reply-To: <1338970501-5098-1-git-send-email-laijs@cn.fujitsu.com> References: <1338970501-5098-1-git-send-email-laijs@cn.fujitsu.com> X-MIMETrack: Itemize by SMTP Server on mailserver/fnst(Release 8.5.3|September 15, 2011) at 2012/06/06 16:15:57, Serialize by Router on mailserver/fnst(Release 8.5.3|September 15, 2011) at 2012/06/06 16:16:04, Serialize complete at 2012/06/06 16:16:04 To: unlisted-recipients:; (no To-header on input) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org The accesses to the pool are always in kmap_lock critical region, thus pool_lock is not needed. Signed-off-by: Lai Jiangshan --- mm/highmem.c | 6 ------ 1 files changed, 0 insertions(+), 6 deletions(-) diff --git a/mm/highmem.c b/mm/highmem.c index b6ce085..bf7f168 100644 --- a/mm/highmem.c +++ b/mm/highmem.c @@ -316,7 +316,6 @@ struct page_address_map { * page_address_map freelist, allocated from page_address_maps. */ static struct list_head page_address_pool; /* freelist */ -static spinlock_t pool_lock; /* protects page_address_pool */ /* * Hash table bucket @@ -383,11 +382,9 @@ static void set_high_page_address(struct page *page, void *virtual) if (virtual) { /* Add */ BUG_ON(list_empty(&page_address_pool)); - spin_lock_irqsave(&pool_lock, flags); pam = list_entry(page_address_pool.next, struct page_address_map, list); list_del(&pam->list); - spin_unlock_irqrestore(&pool_lock, flags); pam->page = page; pam->virtual = virtual; @@ -401,9 +398,7 @@ static void set_high_page_address(struct page *page, void *virtual) if (pam->page == page) { list_del(&pam->list); spin_unlock_irqrestore(&pas->lock, flags); - spin_lock_irqsave(&pool_lock, flags); list_add_tail(&pam->list, &page_address_pool); - spin_unlock_irqrestore(&pool_lock, flags); goto done; } } @@ -426,7 +421,6 @@ void __init page_address_init(void) INIT_LIST_HEAD(&page_address_htable[i].lh); spin_lock_init(&page_address_htable[i].lock); } - spin_lock_init(&pool_lock); } #endif /* defined(CONFIG_HIGHMEM) && !defined(WANT_PAGE_VIRTUAL) */ -- 1.7.7