From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751271AbcDKEf1 (ORCPT ); Mon, 11 Apr 2016 00:35:27 -0400 Received: from LGEAMRELO12.lge.com ([156.147.23.52]:46330 "EHLO lgeamrelo12.lge.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750722AbcDKEf0 (ORCPT ); Mon, 11 Apr 2016 00:35:26 -0400 X-Original-SENDERIP: 156.147.1.126 X-Original-MAILFROM: minchan@kernel.org X-Original-SENDERIP: 10.177.223.161 X-Original-MAILFROM: minchan@kernel.org Date: Mon, 11 Apr 2016 13:35:57 +0900 From: Minchan Kim To: Andrew Morton , linux-kernel@vger.kernel.org, linux-mm@kvack.org, jlayton@poochiereds.net, bfields@fieldses.org, Vlastimil Babka , Joonsoo Kim , koct9i@gmail.com, aquini@redhat.com, virtualization@lists.linux-foundation.org, Mel Gorman , Hugh Dickins , Sergey Senozhatsky , Rik van Riel , rknize@motorola.com, Gioh Kim , Sangseok Lee , Chan Gyun Jeong , Al Viro , YiPing Xu Subject: Re: [PATCH v3 00/16] Support non-lru page migration Message-ID: <20160411043557.GC4804@bbox> References: <1459321935-3655-1-git-send-email-minchan@kernel.org> <20160404131718.GA18963@e106921-lin.trondheim.arm.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20160404131718.GA18963@e106921-lin.trondheim.arm.com> 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 Mon, Apr 04, 2016 at 03:17:18PM +0200, John Einar Reitan wrote: > On Wed, Mar 30, 2016 at 04:11:59PM +0900, Minchan Kim wrote: > > Recently, I got many reports about perfermance degradation > > in embedded system(Android mobile phone, webOS TV and so on) > > and failed to fork easily. > > > > The problem was fragmentation caused by zram and GPU driver > > pages. Their pages cannot be migrated so compaction cannot > > work well, either so reclaimer ends up shrinking all of working > > set pages. It made system very slow and even to fail to fork > > easily. > > > > Other pain point is that they cannot work with CMA. > > Most of CMA memory space could be idle(ie, it could be used > > for movable pages unless driver is using) but if driver(i.e., > > zram) cannot migrate his page, that memory space could be > > wasted. In our product which has big CMA memory, it reclaims > > zones too exccessively although there are lots of free space > > in CMA so system was very slow easily. > > > > To solve these problem, this patch try to add facility to > > migrate non-lru pages via introducing new friend functions > > of migratepage in address_space_operation and new page flags. > > > > (isolate_page, putback_page) > > (PG_movable, PG_isolated) > > > > For details, please read description in > > "mm/compaction: support non-lru movable page migration". > > Thanks, this mirrors what we see with the ARM Mali GPU drivers too. > > One thing with the current design which worries me is the potential > for multiple calls due to many separated pages being migrated. > On GPUs (or any other device) which has an IOMMU and L2 cache, which > isn't coherent with the CPU, we must do L2 cache flush & invalidation > per page. I guess batching pages isn't easily possible? > Hmm, I think it seems to cause many code stirring but surely worth to work. So, IMMO, it would be better to add such feature after soft landing of current work. Anyway, I will Cc'ed you in next revision. Thanks.