> -----Original Message----- > From: Motohiro.Kosaki@xxxxxxxxxxxxxx [mailto:Motohiro.Kosaki@xxxxxxxxxxxxxx] > Sent: Wednesday, June 25, 2014 3:41 PM > To: Rafael Aquini; linux-mm@xxxxxxxxx > Cc: Andrew Morton; Rik van Riel; Mel Gorman; Johannes Weiner; Motohiro Kosaki JP; linux-kernel@xxxxxxxxxxxxxxx > Subject: RE: [PATCH] mm: export NR_SHMEM via sysinfo(2) / si_meminfo() interfaces > > > > > -----Original Message----- > > From: Rafael Aquini [mailto:aquini@xxxxxxxxxx] > > Sent: Wednesday, June 25, 2014 2:40 PM > > To: linux-mm@xxxxxxxxx > > Cc: Andrew Morton; Rik van Riel; Mel Gorman; Johannes Weiner; Motohiro > > Kosaki JP; linux-kernel@xxxxxxxxxxxxxxx > > Subject: [PATCH] mm: export NR_SHMEM via sysinfo(2) / si_meminfo() > > interfaces > > > > This patch leverages the addition of explicit accounting for pages > > used by shmem/tmpfs -- "4b02108 mm: oom analysis: add shmem vmstat" -- > > in order to make the users of sysinfo(2) and si_meminfo*() friends aware of that vmstat entry consistently across the interfaces. > > Why? > Traditionally sysinfo.sharedram was not used for shmem. It was totally strange semantics and completely outdated feature. > So, we may reuse it for another purpose. But I'm not sure its benefit. > > Why don't you use /proc/meminfo? > I'm afraid userland programs get a confusion. For the record. This is historical implementation at linux-2.3.12. I.e. account sum of page count. void si_meminfo(struct sysinfo *val) { int i; i = max_mapnr; val->totalram = 0; val->sharedram = 0; val->freeram = nr_free_pages << PAGE_SHIFT; val->bufferram = atomic_read(&buffermem); while (i-- > 0) { if (PageReserved(mem_map+i)) continue; val->totalram++; if (!page_count(mem_map+i)) continue; val->sharedram += page_count(mem_map+i) - 1; } val->totalram <<= PAGE_SHIFT; val->sharedram <<= PAGE_SHIFT; return; } -- 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