Received: by 10.213.65.68 with SMTP id h4csp3264413imn; Tue, 3 Apr 2018 01:36:20 -0700 (PDT) X-Google-Smtp-Source: AIpwx4+upqhc5bJGUpza4BNCkzyHQDYb8Yt9KqXfnG807mdFA/RueCC6h2L98iC+rXPqT3RkNSjs X-Received: by 10.98.59.4 with SMTP id i4mr9893771pfa.26.1522744580149; Tue, 03 Apr 2018 01:36:20 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1522744580; cv=none; d=google.com; s=arc-20160816; b=tqrSjvyvDPM3N73XIgbVXxHGIGzxJWia/ZrdJcALFvbawxt0VpTvFpc+AsiJZeN7rk ahU+hZjQhDrFYOyLKq8F5GRdwCoiQ2iV+GcOomDAE3EmiXGJYzad7wx4lKEbyigxwqbQ EiL1mYh78Bv0XaaGo3vPf7EYJhvoZdmaNp2P5ZTQFYABL2GYeNXSMfuUT72+cB62hyiF lbamuMvfu9/jzhL7O8YFyq9rErMqm9YKBv2FFOY4j9ChHs/ivO9OvlnVWiVbr3d1/OCf zz08agbs0NxE2KkN8IuQULZ8N4wt1xX1JEst3wTFmICYeU9CoURDQLq3v5CkYNRffdlJ Iq1Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:user-agent:in-reply-to :content-disposition:mime-version:references:message-id:subject:cc :to:from:date:arc-authentication-results; bh=HG4BWwV2XlHTbuchz5OoP0iIu35KHNlIt52Ei+auf9U=; b=Drg1dIR4vfzr1W5saRtQmh7oRtWe5VghthCmX9XuX9qflqvgu8uq2UNNC/6uZjwTBj JvZu9BmF84SS4p+CSgvad3fP80bY6Ij8yOx8Idy9UhsEtCdnynok92EevzItDT4np5Ya YdT9Ne76bd2DFgNuKptvxae51u6B+wwvVzUuAupROnBheS8dTS1L6RyiCPwH652Z+E5G 35EWbg9pUSP7NXP8HBZeLpSY2G1cq1at+wSw8x/+enSsLaBMg2fo7FEdMdOuLoGLOwJq IxBuDOfFHk674FTjGLgsvqy379uMRVQNyXCYq7QufksTFkMPBRD/Pa0PJWti4XuvZgbA q3dA== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id b11-v6si13212plk.688.2018.04.03.01.36.06; Tue, 03 Apr 2018 01:36:20 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755176AbeDCIex (ORCPT + 99 others); Tue, 3 Apr 2018 04:34:53 -0400 Received: from mx2.suse.de ([195.135.220.15]:60880 "EHLO mx2.suse.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754969AbeDCIew (ORCPT ); Tue, 3 Apr 2018 04:34:52 -0400 X-Virus-Scanned: by amavisd-new at test-mx.suse.de Received: from relay2.suse.de (charybdis-ext.suse.de [195.135.220.254]) by mx2.suse.de (Postfix) with ESMTP id 8E33CAD5E; Tue, 3 Apr 2018 08:34:51 +0000 (UTC) Date: Tue, 3 Apr 2018 10:34:51 +0200 From: Michal Hocko To: Naoya Horiguchi Cc: "linux-mm@kvack.org" , Andrew Morton , Vlastimil Babka , "linux-kernel@vger.kernel.org" Subject: Re: [PATCH v1] mm: consider non-anonymous thp as unmovable page Message-ID: <20180403083451.GG5501@dhcp22.suse.cz> References: <1522730788-24530-1-git-send-email-n-horiguchi@ah.jp.nec.com> <20180403075928.GC5501@dhcp22.suse.cz> <20180403082405.GA23809@hori1.linux.bs1.fc.nec.co.jp> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20180403082405.GA23809@hori1.linux.bs1.fc.nec.co.jp> User-Agent: Mutt/1.9.4 (2018-02-28) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue 03-04-18 08:24:06, Naoya Horiguchi wrote: > On Tue, Apr 03, 2018 at 09:59:28AM +0200, Michal Hocko wrote: > > On Tue 03-04-18 13:46:28, Naoya Horiguchi wrote: > > > My testing for the latest kernel supporting thp migration found out an > > > infinite loop in offlining the memory block that is filled with shmem > > > thps. We can get out of the loop with a signal, but kernel should > > > return with failure in this case. > > > > > > What happens in the loop is that scan_movable_pages() repeats returning > > > the same pfn without any progress. That's because page migration always > > > fails for shmem thps. > > > > Why does it fail? Shmem pages should be movable without any issues. > > .. because try_to_unmap_one() explicitly skips unmapping for migration. > > #ifdef CONFIG_ARCH_ENABLE_THP_MIGRATION > /* PMD-mapped THP migration entry */ > if (!pvmw.pte && (flags & TTU_MIGRATION)) { > VM_BUG_ON_PAGE(PageHuge(page) || !PageTransCompound(page), page); > > if (!PageAnon(page)) > continue; > > set_pmd_migration_entry(&pvmw, page); > continue; > } > #endif > > When I implemented this code, I felt hard to work on both of anon thp > and shmem thp at one time, so I separated the proposal into smaller steps. > Shmem uses pagecache so we need some non-trivial effort (including testing) > to extend thp migration for shmem. But I think it's a reasonable next step. OK, I see. I have forgot about this part. Please be explicit about that in the changelog. Also the proper fix is to not use movable zone for shmem page THP rather than hack around it in the hotplug specific code IMHO. -- Michal Hocko SUSE Labs