lkml.org 
[lkml]   [2009]   [Feb]   [3]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [-mm patch] Show memcg information during OOM (v3)
    > @@ -104,6 +104,8 @@ struct zone_reclaim_stat *mem_cgroup_get_reclaim_stat(struct mem_cgroup *memcg,
    > struct zone *zone);
    > struct zone_reclaim_stat*
    > mem_cgroup_get_reclaim_stat_from_page(struct page *page);
    > +extern void mem_cgroup_print_oom_info(struct mem_cgroup *memcg,
    > + struct task_struct *p);
    >
    > #ifdef CONFIG_CGROUP_MEM_RES_CTLR_SWAP
    > extern int do_swap_account;
    > @@ -270,6 +272,10 @@ mem_cgroup_get_reclaim_stat_from_page(struct page *page)
    > return NULL;
    > }
    >
    > +void mem_cgroup_print_oom_info(struct mem_cgroup *memcg, struct task_struct *p)
    > +{

    should be static inline, otherwise it won't compile if CONFIG_CGROUP_MEM_CONT=n

    > +}
    > +
    > #endif /* CONFIG_CGROUP_MEM_CONT */
    >

    > +void mem_cgroup_print_oom_info(struct mem_cgroup *memcg, struct task_struct *p)
    > +{
    > + struct cgroup *task_cgrp;
    > + struct cgroup *mem_cgrp;
    > + /*
    > + * Need a buffer on stack, can't rely on allocations. The code relies

    I think it's in .bss section, but not on stack, and it's better to explain why
    the static buffer is safe in the comment.

    > + * on the assumption that OOM is serialized for memory controller.
    > + * If this assumption is broken, revisit this code.
    > + */
    > + static char task_memcg_name[PATH_MAX];
    > + static char memcg_name[PATH_MAX];
    > + int ret;


    \
     
     \ /
      Last update: 2009-02-04 01:57    [W:0.022 / U:124.880 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site