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 -- To unsubscribe from this list: send the line "unsubscribe cgroups" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html