Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755197Ab0GEK2s (ORCPT ); Mon, 5 Jul 2010 06:28:48 -0400 Received: from one.firstfloor.org ([213.235.205.2]:35153 "EHLO one.firstfloor.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754272Ab0GEK2q (ORCPT ); Mon, 5 Jul 2010 06:28:46 -0400 Date: Mon, 5 Jul 2010 12:28:44 +0200 From: Andi Kleen To: Naoya Horiguchi Cc: Andi Kleen , Andrew Morton , Mel Gorman , Wu Fengguang , "Jun'ichi Nomura" , linux-mm , LKML Subject: Re: [PATCH 7/7] hugetlb, HWPOISON: soft offlining for hugepage Message-ID: <20100705102844.GD8510@basil.fritz.box> References: <1278049646-29769-1-git-send-email-n-horiguchi@ah.jp.nec.com> <1278049646-29769-8-git-send-email-n-horiguchi@ah.jp.nec.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1278049646-29769-8-git-send-email-n-horiguchi@ah.jp.nec.com> User-Agent: Mutt/1.5.20 (2009-06-14) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1019 Lines: 31 > +void isolate_hwpoisoned_huge_page(struct page *hpage) > +{ > + lock_page(hpage); > + __isolate_hwpoisoned_huge_page(hpage); > + unlock_page(hpage); > +} This assumes all other users (even outside this file) who lock always do so on the head page too. Needs some double-checking? > } else { > pr_debug("soft offline: %#lx: isolation failed: %d, page count %d, type %lx\n", > pfn, ret, page_count(page), page->flags); > @@ -1351,8 +1380,8 @@ int soft_offline_page(struct page *page, int flags) > return ret; > > done: > - atomic_long_add(1, &mce_bad_pages); > - SetPageHWPoison(page); > + atomic_long_add(1 << compound_order(hpage), &mce_bad_pages); Probably should add a separate counter too? -Andi -- ak@linux.intel.com -- Speaking for myself only. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/