mirror of
https://github.com/apache/nuttx.git
synced 2026-06-07 01:05:54 +08:00
fs/procfs: add memory nfree to procfs
Change-Id: I63af304aec627498589a6899411484c56d298d54 Signed-off-by: ligd <liguiding1@xiaomi.com>
This commit is contained in:
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user