예제 #1
0
struct mallinfo mallinfo(void)
{
  struct mallinfo info;

  mm_mallinfo(&g_mmheap, &info);
  return info;
}
예제 #2
0
static ssize_t ccm_read(FAR struct file *filep, FAR char *buffer,
                           size_t buflen)
{
  FAR struct ccm_file_s *priv;
  ssize_t ret = 0;
  size_t linesize;
  size_t copysize;
  size_t remaining;
  size_t totalsize;
  struct mallinfo mem;
  off_t offset = filep->f_pos;

  fvdbg("buffer=%p buflen=%d\n", buffer, (int)buflen);

  /* Recover our private data from the struct file instance */

  priv = (FAR struct ccm_file_s *)filep->f_priv;
  DEBUGASSERT(priv);


  mm_mallinfo(&g_ccm_heap, &mem);
  
  remaining = buflen;
  totalsize = 0;

  linesize = snprintf(priv->line,
                      CCM_LINELEN,
                      "             total       used       free    largest\n");
  copysize = procfs_memcpy(priv->line, linesize, buffer, remaining, &offset);
  totalsize += copysize;
  buffer    += copysize;
  remaining -= copysize;

  if (totalsize >= buflen)
    {
      return totalsize;
    }

  linesize = snprintf(priv->line,
                      CCM_LINELEN,
                      "Mem:   %11d%11d%11d%11d\n",
                      mem.arena,
                      mem.uordblks,
                      mem.fordblks,
                      mem.mxordblk);
  copysize = procfs_memcpy(priv->line, linesize, buffer, remaining, &offset);
  totalsize += copysize;

  /* Update the file offset */

  if (totalsize > 0)
    {
      filep->f_pos += totalsize;
    }

  return totalsize;
}
예제 #3
0
void print_user_heap_mallinfo(void)
{
  struct mallinfo info;

  mm_mallinfo(&g_mmheap_user, &info);

  trace(": %db used (%%%d) out of %db\n", info.uordblks,
          info.uordblks * 100 / info.arena, info.arena);
}
예제 #4
0
파일: kmm_mallinfo.c 프로젝트: a1ien/nuttx
int kmm_mallinfo(struct mallinfo *info)
{
  return mm_mallinfo(&g_kmmheap, info);
}
예제 #5
0
int mallinfo(struct mallinfo *info)
{
  return mm_mallinfo(USR_HEAP, info);
}
예제 #6
0
struct mallinfo mallinfo(void)
{
  struct mallinfo info;
  mm_mallinfo(USR_HEAP, &info);
  return info;
}