Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S934226AbbGVM0A (ORCPT ); Wed, 22 Jul 2015 08:26:00 -0400 Received: from cantor2.suse.de ([195.135.220.15]:43760 "EHLO mx2.suse.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S934029AbbGVMZ7 (ORCPT ); Wed, 22 Jul 2015 08:25:59 -0400 Message-ID: <55AF8BD2.6060009@suse.cz> Date: Wed, 22 Jul 2015 14:25:54 +0200 From: Vlastimil Babka User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.7.0 MIME-Version: 1.0 To: David Rientjes CC: Andrew Morton , linux-mm@kvack.org, linux-kernel@vger.kernel.org, "minkyung88.kim" , kmk3210@gmail.com, Seungho Park , Joonsoo Kim , Minchan Kim , Michal Nazarewicz , Laura Abbott , Naoya Horiguchi , Johannes Weiner , "Kirill A. Shutemov" , Mel Gorman Subject: Re: [PATCH 1/2] mm, page_isolation: remove bogus tests for isolated pages References: <55969822.9060907@suse.cz> <1437483218-18703-1-git-send-email-vbabka@suse.cz> In-Reply-To: Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1776 Lines: 51 On 07/22/2015 12:43 AM, David Rientjes wrote: > On Tue, 21 Jul 2015, Vlastimil Babka wrote: > > > You may want to consider stating your assumptions explicitly in the code, > perhaps with VM_BUG_ON(), such as in free_pcppages_bulk() to ensure things > like get_freepage_migratetype(page) != MIGRATE_ISOLATE. Hm, OK here's a fixup. I've pondered others but nothing made sense unless I would have to devise really twisted ways in which somebody broke the code in the future, and that's not worth BUG_ON(). But the checking made me realize that one more set_freepage_migratetype() can be removed in the other patch, so I will resend it. ------8<------ From: Vlastimil Babka Date: Wed, 22 Jul 2015 14:16:52 +0200 Subject: [PATCH 2/3] fixup! mm, page_isolation: remove bogus tests for isolated pages --- mm/page_alloc.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/mm/page_alloc.c b/mm/page_alloc.c index 41dc650..c61fef8 100644 --- a/mm/page_alloc.c +++ b/mm/page_alloc.c @@ -789,7 +789,11 @@ static void free_pcppages_bulk(struct zone *zone, int count, page = list_entry(list->prev, struct page, lru); /* must delete as __free_one_page list manipulates */ list_del(&page->lru); + mt = get_freepage_migratetype(page); + /* MIGRATE_ISOLATE page should not go to pcplists */ + VM_BUG_ON_PAGE(is_migrate_isolate(mt), page); + /* Pageblock could have been isolated meanwhile */ if (unlikely(has_isolate_pageblock(zone))) mt = get_pageblock_migratetype(page); -- 2.4.5 -- 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/