From: Andi Kleen on 5 Jul 2010 06:30 > +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(a)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(a)vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
|
Pages: 1 Prev: Partnership Request Next: [PATCH] x86: eliminate pointless adjustment attempts in fixup_irqs() |