On Tue 11-03-14 21:28:30, Johannes Weiner wrote: [...] > @@ -4070,6 +4061,12 @@ int mem_cgroup_cache_charge(struct page *page, struct mm_struct *mm, > return 0; > > if (!PageSwapCache(page)) { > + /* > + * Page cache insertions can happen without an actual > + * task context, e.g. during disk probing on boot. We read a page cache during disk probing? I have tried to find such a code path but failed. Could you point me to such a path, please? I thought that such probing is done from udev context but I am not familiar with this area TBH. Thanks! > + */ > + if (!mm) > + memcg = root_mem_cgroup; > ret = __mem_cgroup_try_charge(mm, gfp_mask, 1, &memcg, true); > if (ret != -ENOMEM) > __mem_cgroup_commit_charge(memcg, page, 1, type, false); > -- > 1.9.0 > -- Michal Hocko SUSE Labs -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>