lkml.org 
[lkml]   [2008]   [Dec]   [19]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH 4/8] cpumask: convert kernel trace functions

    On Fri, 19 Dec 2008, Mike Travis wrote:

    > Impact: Reduce memory usage, use new cpumask API.
    >
    > Convert kernel trace functions to use struct cpumask.
    >

    [..]

    > #define for_each_buffer_cpu(buffer, cpu) \
    > - for_each_cpu_mask(cpu, buffer->cpumask)
    > + for_each_cpu(cpu, buffer->cpumask)
    >
    > #define TS_SHIFT 27
    > #define TS_MASK ((1ULL << TS_SHIFT) - 1)
    > @@ -262,7 +262,7 @@ struct ring_buffer {
    > unsigned pages;
    > unsigned flags;
    > int cpus;
    > - cpumask_t cpumask;
    > + cpumask_var_t cpumask;
    > atomic_t record_disabled;
    >
    > struct mutex mutex;
    > @@ -453,6 +453,9 @@ struct ring_buffer *ring_buffer_alloc(un
    > if (!buffer)
    > return NULL;
    >
    > + if (!alloc_cpumask_var(&buffer->cpumask, GFP_KERNEL))
    > + goto fail_free_buffer;
    > +


    How does this save memory if we just allocate a cpumask var everytime
    we allocate a ring buffer? Is cpumask_var_t a mask of possible CPUS and
    not NR_CPUS?

    Otherwise, I see this as just adding one extra pointer.

    -- Steve


    \
     
     \ /
      Last update: 2008-12-19 17:19    [W:0.020 / U:154.064 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site