From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754898AbdGJSK7 (ORCPT ); Mon, 10 Jul 2017 14:10:59 -0400 Received: from mx1.redhat.com ([209.132.183.28]:53604 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754042AbdGJSK5 (ORCPT ); Mon, 10 Jul 2017 14:10:57 -0400 DMARC-Filter: OpenDMARC Filter v1.3.2 mx1.redhat.com 2D2F67F6A6 Authentication-Results: ext-mx01.extmail.prod.ext.phx2.redhat.com; dmarc=none (p=none dis=none) header.from=redhat.com Authentication-Results: ext-mx01.extmail.prod.ext.phx2.redhat.com; spf=pass smtp.mailfrom=jglisse@redhat.com DKIM-Filter: OpenDKIM Filter v2.11.0 mx1.redhat.com 2D2F67F6A6 Date: Mon, 10 Jul 2017 14:10:53 -0400 From: Jerome Glisse To: Michal Hocko Cc: linux-kernel@vger.kernel.org, linux-mm@kvack.org, John Hubbard , David Nellans , Dan Williams , Balbir Singh , Johannes Weiner , Vladimir Davydov , cgroups@vger.kernel.org Subject: Re: [PATCH 4/5] mm/memcontrol: allow to uncharge page without using page->lru field Message-ID: <20170710181053.GD4964@redhat.com> References: <20170703211415.11283-5-jglisse@redhat.com> <20170704125113.GC14727@dhcp22.suse.cz> <20170705143528.GB3305@redhat.com> <20170710082805.GD19185@dhcp22.suse.cz> <20170710153222.GA4964@redhat.com> <20170710160444.GB7071@dhcp22.suse.cz> <20170710162542.GB4964@redhat.com> <20170710163651.GD7071@dhcp22.suse.cz> <20170710165420.GC4964@redhat.com> <20170710174857.GF7071@dhcp22.suse.cz> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <20170710174857.GF7071@dhcp22.suse.cz> User-Agent: Mutt/1.8.2 (2017-04-18) X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.25]); Mon, 10 Jul 2017 18:10:57 +0000 (UTC) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Mon, Jul 10, 2017 at 07:48:58PM +0200, Michal Hocko wrote: > On Mon 10-07-17 12:54:21, Jerome Glisse wrote: > > On Mon, Jul 10, 2017 at 06:36:52PM +0200, Michal Hocko wrote: > > > On Mon 10-07-17 12:25:42, Jerome Glisse wrote: > > > [...] > > > > Bottom line is that we can always free and uncharge device memory > > > > page just like any regular page. > > > > > > OK, this answers my earlier question. Then it should be feasible to > > > charge this memory. There are still some things to handle. E.g. how do > > > we consider this memory during oom victim selection (this is not > > > accounted as an anonymous memory in get_mm_counter, right?), maybe others. > > > But the primary point is that nobody pins the memory outside of the > > > mapping. > > > > At this point it is accounted as a regular page would be (anonymous, file > > or share memory). I wanted mm_counters to reflect memcg but i can untie > > that. > > I am not sure I understand. If the device memory is accounted to the > same mm counter as the original page then it is correct. I will try to > double check the implementation (hopefully soon). It is accounted like the original page. By same as memcg i mean i made the same kind of choice for mm counter than i made for memcg. It is all in the migrate code (migrate.c) ie i don't touch any of the mm counter when migrating page. Jérôme