lkml.org 
[lkml]   [2010]   [Sep]   [12]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 4/5] writeback: Adding /sys/devices/system/node/<node>/vmstat
    Date
    For NUMA node systems it is important to have visibility in memory
    characteristics. Two of the /proc/vmstat values "nr_cleaned" and
    "nr_dirtied" are added here.

    # cat /sys/devices/system/node/node20/vmstat
    nr_cleaned 0
    nr_dirtied 0

    Signed-off-by: Michael Rubin <mrubin@google.com>
    ---
    drivers/base/node.c | 14 ++++++++++++++
    1 files changed, 14 insertions(+), 0 deletions(-)

    diff --git a/drivers/base/node.c b/drivers/base/node.c
    index 2872e86..6aaccd9 100644
    --- a/drivers/base/node.c
    +++ b/drivers/base/node.c
    @@ -160,6 +160,18 @@ static ssize_t node_read_numastat(struct sys_device * dev,
    }
    static SYSDEV_ATTR(numastat, S_IRUGO, node_read_numastat, NULL);

    +static ssize_t node_read_vmstat(struct sys_device *dev,
    + struct sysdev_attribute *attr, char *buf)
    +{
    + int nid = dev->id;
    + return sprintf(buf,
    + "nr_written %lu\n"
    + "nr_dirtied %lu\n",
    + node_page_state(nid, NR_WRITTEN),
    + node_page_state(nid, NR_FILE_DIRTIED));
    +}
    +static SYSDEV_ATTR(vmstat, S_IRUGO, node_read_vmstat, NULL);
    +
    static ssize_t node_read_distance(struct sys_device * dev,
    struct sysdev_attribute *attr, char * buf)
    {
    @@ -243,6 +255,7 @@ int register_node(struct node *node, int num, struct node *parent)
    sysdev_create_file(&node->sysdev, &attr_meminfo);
    sysdev_create_file(&node->sysdev, &attr_numastat);
    sysdev_create_file(&node->sysdev, &attr_distance);
    + sysdev_create_file(&node->sysdev, &attr_vmstat);

    scan_unevictable_register_node(node);

    @@ -267,6 +280,7 @@ void unregister_node(struct node *node)
    sysdev_remove_file(&node->sysdev, &attr_meminfo);
    sysdev_remove_file(&node->sysdev, &attr_numastat);
    sysdev_remove_file(&node->sysdev, &attr_distance);
    + sysdev_remove_file(&node->sysdev, &attr_vmstat);

    scan_unevictable_unregister_node(node);
    hugetlb_unregister_node(node); /* no-op, if memoryless node */
    --
    1.7.1


    \
     
     \ /
      Last update: 2010-09-12 22:35    [W:0.022 / U:118.972 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site