linprocfs: garbage collect meminfo fields not present in linux
In particular memshared not only does not exist in linux, it was extremely expensive to calculate.
This commit is contained in:
parent
cb1cb6a2a8
commit
dbfe4b2673
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=305856
@ -144,12 +144,10 @@ linprocfs_domeminfo(PFS_FILL_ARGS)
|
|||||||
unsigned long memtotal; /* total memory in bytes */
|
unsigned long memtotal; /* total memory in bytes */
|
||||||
unsigned long memused; /* used memory in bytes */
|
unsigned long memused; /* used memory in bytes */
|
||||||
unsigned long memfree; /* free memory in bytes */
|
unsigned long memfree; /* free memory in bytes */
|
||||||
unsigned long memshared; /* shared memory ??? */
|
|
||||||
unsigned long buffers, cached; /* buffer / cache memory ??? */
|
unsigned long buffers, cached; /* buffer / cache memory ??? */
|
||||||
unsigned long long swaptotal; /* total swap space in bytes */
|
unsigned long long swaptotal; /* total swap space in bytes */
|
||||||
unsigned long long swapused; /* used swap space in bytes */
|
unsigned long long swapused; /* used swap space in bytes */
|
||||||
unsigned long long swapfree; /* free swap space in bytes */
|
unsigned long long swapfree; /* free swap space in bytes */
|
||||||
vm_object_t object;
|
|
||||||
int i, j;
|
int i, j;
|
||||||
|
|
||||||
memtotal = physmem * PAGE_SIZE;
|
memtotal = physmem * PAGE_SIZE;
|
||||||
@ -169,13 +167,6 @@ linprocfs_domeminfo(PFS_FILL_ARGS)
|
|||||||
swaptotal = (unsigned long long)i * PAGE_SIZE;
|
swaptotal = (unsigned long long)i * PAGE_SIZE;
|
||||||
swapused = (unsigned long long)j * PAGE_SIZE;
|
swapused = (unsigned long long)j * PAGE_SIZE;
|
||||||
swapfree = swaptotal - swapused;
|
swapfree = swaptotal - swapused;
|
||||||
memshared = 0;
|
|
||||||
mtx_lock(&vm_object_list_mtx);
|
|
||||||
TAILQ_FOREACH(object, &vm_object_list, object_list)
|
|
||||||
if (object->shadow_count > 1)
|
|
||||||
memshared += object->resident_page_count;
|
|
||||||
mtx_unlock(&vm_object_list_mtx);
|
|
||||||
memshared *= PAGE_SIZE;
|
|
||||||
/*
|
/*
|
||||||
* We'd love to be able to write:
|
* We'd love to be able to write:
|
||||||
*
|
*
|
||||||
@ -188,21 +179,14 @@ linprocfs_domeminfo(PFS_FILL_ARGS)
|
|||||||
cached = vm_cnt.v_cache_count * PAGE_SIZE;
|
cached = vm_cnt.v_cache_count * PAGE_SIZE;
|
||||||
|
|
||||||
sbuf_printf(sb,
|
sbuf_printf(sb,
|
||||||
" total: used: free: shared: buffers: cached:\n"
|
|
||||||
"Mem: %lu %lu %lu %lu %lu %lu\n"
|
|
||||||
"Swap: %llu %llu %llu\n"
|
|
||||||
"MemTotal: %9lu kB\n"
|
"MemTotal: %9lu kB\n"
|
||||||
"MemFree: %9lu kB\n"
|
"MemFree: %9lu kB\n"
|
||||||
"MemShared:%9lu kB\n"
|
|
||||||
"Buffers: %9lu kB\n"
|
"Buffers: %9lu kB\n"
|
||||||
"Cached: %9lu kB\n"
|
"Cached: %9lu kB\n"
|
||||||
"SwapTotal:%9llu kB\n"
|
"SwapTotal:%9llu kB\n"
|
||||||
"SwapFree: %9llu kB\n",
|
"SwapFree: %9llu kB\n",
|
||||||
memtotal, memused, memfree, memshared, buffers, cached,
|
B2K(memtotal), B2K(memfree), B2K(buffers),
|
||||||
swaptotal, swapused, swapfree,
|
B2K(cached), B2K(swaptotal), B2K(swapfree));
|
||||||
B2K(memtotal), B2K(memfree),
|
|
||||||
B2K(memshared), B2K(buffers), B2K(cached),
|
|
||||||
B2K(swaptotal), B2K(swapfree));
|
|
||||||
|
|
||||||
return (0);
|
return (0);
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user