From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751018AbaHMIKI (ORCPT ); Wed, 13 Aug 2014 04:10:08 -0400 Received: from LGEMRELSE6Q.lge.com ([156.147.1.121]:53097 "EHLO lgemrelse6q.lge.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750717AbaHMIJ6 (ORCPT ); Wed, 13 Aug 2014 04:09:58 -0400 X-Original-SENDERIP: 10.177.222.172 X-Original-MAILFROM: iamjoonsoo.kim@lge.com Date: Wed, 13 Aug 2014 17:09:56 +0900 From: Joonsoo Kim To: Vlastimil Babka Cc: Minchan Kim , Andrew Morton , "Kirill A. Shutemov" , Rik van Riel , Mel Gorman , Johannes Weiner , Yasuaki Ishimatsu , Zhang Yanfei , "Srivatsa S. Bhat" , Tang Chen , Naoya Horiguchi , Bartlomiej Zolnierkiewicz , Wen Congyang , Marek Szyprowski , Michal Nazarewicz , Laura Abbott , Heesub Shin , "Aneesh Kumar K.V" , Ritesh Harjani , t.stanislaws@samsung.com, Gioh Kim , linux-mm@kvack.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH v2 4/8] mm/isolation: close the two race problems related to pageblock isolation Message-ID: <20140813080956.GA30451@js1304-P5Q-DELUXE> References: <1407309517-3270-1-git-send-email-iamjoonsoo.kim@lge.com> <1407309517-3270-8-git-send-email-iamjoonsoo.kim@lge.com> <20140812051745.GC23418@gmail.com> <53E9E23C.6030709@suse.cz> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <53E9E23C.6030709@suse.cz> User-Agent: Mutt/1.5.21 (2010-09-15) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, Aug 12, 2014 at 11:45:32AM +0200, Vlastimil Babka wrote: > On 08/12/2014 07:17 AM, Minchan Kim wrote: > >On Wed, Aug 06, 2014 at 04:18:33PM +0900, Joonsoo Kim wrote: > >> > >>One solution to this problem is checking pageblock migratetype with > >>holding zone lock in __free_one_page() and I posted it before, but, > >>it didn't get welcome since it needs the hook in zone lock critical > >>section on freepath. > > > >I didn't review your v1 but IMHO, this patchset is rather complex. > > It is, but the complexity is in the isolation code, and not fast > paths, so that's justifiable IMHO. > > >Normally, we don't like adding more overhead in fast path but we did > >several time on hotplug/cma, esp so I don't know a few more thing is > >really hesitant. > > This actually undoes most of the overhead, so I'm all for it. Better > than keep doing stuff the same way just because it was done > previously. > > >In addition, you proved by this patchset how this > >isolation code looks ugly and fragile for race problem so I vote > >adding more overhead in fast path if it can make code really simple. > > Well, I recommend you to check out the v1 then :) That wasn't really > simple, that was even more hooks rechecking migratetypes at various > places of the fast paths, when merging buddies etc. This is much > better. The complexity is mostly in the isolation code, and the > overhead happens only during isolation. Hmm... Okay. I agree that this way is so complicated. In fact, the real save is just one is_migrate_isolate_page() check in free_pcppages_bulk() and this approach makes isolation process really complicated. I guess that I could improve v1 patchset. How about waiting my improved v1 and comparing v1' with v2? If v1 is implemented cleanly, it may be better than this. I want to try and compare. :) Thanks.