lkml.org 
[lkml]   [2010]   [Mar]   [28]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [RFC patch] extable and module add object is static
    * Lai Jiangshan (laijs@cn.fujitsu.com) wrote:
    > Mathieu Desnoyers wrote:
    > > +static int core_object_is_static(void *obj)
    > > +{
    > [...]
    > > + if (addr >= (unsigned long)__per_cpu_start &&
    > > + addr <= (unsigned long)__per_cpu_end)
    > > + return 1;
    >
    > This may only correct for UP.
    > You may need arch-special codes for SMP.
    >

    looking at include/linux/percpu.h:

    #ifndef PERCPU_ENOUGH_ROOM
    #define PERCPU_ENOUGH_ROOM \
    (ALIGN(__per_cpu_end - __per_cpu_start, SMP_CACHE_BYTES) + \
    PERCPU_MODULE_RESERVE)
    #endif

    I was under the impression that most architectures were keeping their per-cpu
    data within the __per_cpu_start .. __per_cpu_end range. But I see that ia64
    is the only one to redefine PERCPU_ENOUGH_ROOM. I'm not sure if it can be a
    problem. Is that what you had in mind ?

    (adding Tony and Fenghua in CC so they can confirm)

    Thanks,

    Mathieu


    --
    Mathieu Desnoyers
    Operating System Efficiency R&D Consultant
    EfficiOS Inc.
    http://www.efficios.com


    \
     
     \ /
      Last update: 2010-03-29 05:21    [W:0.022 / U:31.676 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site