Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756977AbdCHG6u (ORCPT ); Wed, 8 Mar 2017 01:58:50 -0500 Received: from LGEAMRELO13.lge.com ([156.147.23.53]:58315 "EHLO lgeamrelo13.lge.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751226AbdCHG6q (ORCPT ); Wed, 8 Mar 2017 01:58:46 -0500 X-Original-SENDERIP: 156.147.1.151 X-Original-MAILFROM: minchan@kernel.org X-Original-SENDERIP: 165.244.249.25 X-Original-MAILFROM: minchan@kernel.org X-Original-SENDERIP: 10.177.223.161 X-Original-MAILFROM: minchan@kernel.org Date: Wed, 8 Mar 2017 15:42:42 +0900 From: Minchan Kim To: "Kirill A. Shutemov" CC: , Anshuman Khandual , Andrew Morton , , , , Johannes Weiner , Michal Hocko Subject: Re: [RFC 06/11] mm: remove SWAP_MLOCK in ttu Message-ID: <20170308064242.GH11206@bbox> References: <1488436765-32350-1-git-send-email-minchan@kernel.org> <1488436765-32350-7-git-send-email-minchan@kernel.org> <54799ea5-005d-939c-de32-bc21af881ab4@linux.vnet.ibm.com> <20170306021508.GD8779@bbox> <20170307152437.GB2940@node.shutemov.name> MIME-Version: 1.0 In-Reply-To: <20170307152437.GB2940@node.shutemov.name> User-Agent: Mutt/1.5.24 (2015-08-30) X-MIMETrack: Itemize by SMTP Server on LGEKRMHUB07/LGE/LG Group(Release 8.5.3FP6|November 21, 2013) at 2017/03/08 15:42:42, Serialize by Router on LGEKRMHUB07/LGE/LG Group(Release 8.5.3FP6|November 21, 2013) at 2017/03/08 15:42:42, Serialize complete at 2017/03/08 15:42:42 Content-Type: text/plain; charset="us-ascii" Content-Disposition: inline Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1774 Lines: 38 On Tue, Mar 07, 2017 at 06:24:37PM +0300, Kirill A. Shutemov wrote: > On Mon, Mar 06, 2017 at 11:15:08AM +0900, Minchan Kim wrote: > > Hi Anshuman, > > > > On Fri, Mar 03, 2017 at 06:06:38PM +0530, Anshuman Khandual wrote: > > > On 03/02/2017 12:09 PM, Minchan Kim wrote: > > > > ttu don't need to return SWAP_MLOCK. Instead, just return SWAP_FAIL > > > > because it means the page is not-swappable so it should move to > > > > another LRU list(active or unevictable). putback friends will > > > > move it to right list depending on the page's LRU flag. > > > > > > Right, if it cannot be swapped out there is not much difference with > > > SWAP_FAIL once we change the callers who expected to see a SWAP_MLOCK > > > return instead. > > > > > > > > > > > A side effect is shrink_page_list accounts unevictable list movement > > > > by PGACTIVATE but I don't think it corrupts something severe. > > > > > > Not sure I got that, could you please elaborate on this. We will still > > > activate the page and put it in an appropriate LRU list if it is marked > > > mlocked ? > > > > Right. putback_iactive_pages/putback_lru_page has a logic to filter > > out unevictable pages and move them to unevictable LRU list so it > > doesn't break LRU change behavior but the concern is until now, > > we have accounted PGACTIVATE for only evictable LRU list page but > > by this change, it accounts it to unevictable LRU list as well. > > However, although I don't think it's big problem in real practice, > > we can fix it simply with checking PG_mlocked if someone reports. > > I think it's better to do this pro-actively. Let's hide both pgactivate++ > and SetPageActive() under "if (!PageMlocked())". > SetPageActive() is not free. I will consider it in next spin. Thanks!