fs/procfs: add memory nfree to procfs

Change-Id: I63af304aec627498589a6899411484c56d298d54
Signed-off-by: ligd <liguiding1@xiaomi.com>
This commit is contained in:
ligd
2021-03-10 18:36:01 +08:00
committed by liguiding1
parent 271aad4995
commit f6e505c252
+13 -8
View File
@@ -54,7 +54,7 @@
* to handle the longest line generated by this logic.
*/
#define MEMINFO_LINELEN 54
#define MEMINFO_LINELEN 64
/****************************************************************************
* Private Types
@@ -145,6 +145,7 @@ static void meminfo_progmem(FAR struct progmem_info_s *progmem)
ssize_t status;
progmem->arena = 0;
progmem->ordblks = 0;
progmem->fordblks = 0;
progmem->uordblks = 0;
progmem->mxordblk = 0;
@@ -166,6 +167,7 @@ static void meminfo_progmem(FAR struct progmem_info_s *progmem)
}
progmem->fordblks += pagesize;
progmem->ordblks++;
}
else if (status != 0)
{
@@ -283,7 +285,7 @@ static ssize_t meminfo_read(FAR struct file *filep, FAR char *buffer,
linesize =
snprintf(procfile->line, MEMINFO_LINELEN,
" total used free largest\n");
" total used free largest nfree\n");
copysize = procfs_memcpy(procfile->line, linesize, buffer, buflen,
&offset);
@@ -301,11 +303,12 @@ static ssize_t meminfo_read(FAR struct file *filep, FAR char *buffer,
mem = kmm_mallinfo();
linesize = snprintf(procfile->line, MEMINFO_LINELEN,
"Kmem: %11lu%11lu%11lu%11lu\n",
"Kmem: %11lu%11lu%11lu%11lu%7lu\n",
(unsigned long)mem.arena,
(unsigned long)mem.uordblks,
(unsigned long)mem.fordblks,
(unsigned long)mem.mxordblk);
(unsigned long)mem.mxordblk,
(unsigned long)mem.ordblks);
copysize = procfs_memcpy(procfile->line, linesize, buffer, buflen,
&offset);
totalsize += copysize;
@@ -322,11 +325,12 @@ static ssize_t meminfo_read(FAR struct file *filep, FAR char *buffer,
mem = kumm_mallinfo();
linesize = snprintf(procfile->line, MEMINFO_LINELEN,
"Umem: %11lu%11lu%11lu%11lu\n",
"Umem: %11lu%11lu%11lu%11lu%7lu\n",
(unsigned long)mem.arena,
(unsigned long)mem.uordblks,
(unsigned long)mem.fordblks,
(unsigned long)mem.mxordblk);
(unsigned long)mem.mxordblk,
(unsigned long)mem.ordblks);
copysize = procfs_memcpy(procfile->line, linesize, buffer, buflen,
&offset);
totalsize += copysize;
@@ -377,11 +381,12 @@ static ssize_t meminfo_read(FAR struct file *filep, FAR char *buffer,
meminfo_progmem(&progmem);
linesize = snprintf(procfile->line, MEMINFO_LINELEN,
"Prog: %11lu%11lu%11lu%11lu\n",
"Prog: %11lu%11lu%11lu%11lu%7lu\n",
(unsigned long)progmem.arena,
(unsigned long)progmem.uordblks,
(unsigned long)progmem.fordblks,
(unsigned long)progmem.mxordblk);
(unsigned long)progmem.mxordblk,
(unsigned long)progmem.ordblks);
copysize = procfs_memcpy(procfile->line, linesize, buffer, buflen,
&offset);
totalsize += copysize;