On 03/06/2013 02:45 PM, Kamezawa Hiroyuki wrote: > (2013/03/06 17:30), Glauber Costa wrote: >> On 03/06/2013 04:27 AM, Kamezawa Hiroyuki wrote: >>> (2013/03/05 22:10), Glauber Costa wrote: >>>> + case _MEMSWAP: { >>>> + struct sysinfo i; >>>> + si_swapinfo(&i); >>>> + >>>> + return ((memcg_read_root_rss() + >>>> + atomic_long_read(&vm_stat[NR_FILE_PAGES])) << PAGE_SHIFT) + >>>> + i.totalswap - i.freeswap; >>> >>> How swapcache is handled ? ...and How kmem works with this calc ? >>> >> I am ignoring kmem, because we don't account kmem for the root cgroup >> anyway. >> >> Setting the limit is invalid, and we don't account until the limit is >> set. Then it will be 0, always. >> >> For swapcache, I am hoping that totalswap - freeswap will cover >> everything swap related. If you think I am wrong, please enlighten me. >> > > i.totalswap - i.freeswap = # of used swap entries. > > SwapCache can be rss and used swap entry at the same time. > Well, yes, but the rss entries would be accounted for in get_mm_rss(), won't they ? What am I missing ? -- 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>