lkml.org 
[lkml]   [2009]   [Mar]   [8]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    SubjectRe: [PATCH 1/8] percpu: clean up percpu constants
    From
    On Fri, Mar 6, 2009 at 2:46 PM, Tejun Heo <tj@kernel.org> wrote:
    > Impact: cleaup
    >
    > Make the following cleanups.
    >
    > * There isn't much arch-specific about PERCPU_MODULE_RESERVE.  Always
    >  define it whether arch overrides PERCPU_ENOUGH_ROOM or not.
    >
    > * blackfin overrides PERCPU_ENOUGH_ROOM to align static area size.  Do
    >  it by default.
    >

    Acked-by: Bryan Wu <cooloney@kernel.org>

    Thanks
    -Bryan

    > * percpu allocation sizes doesn't have much to do with the page size.
    >  Don't use PAGE_SHIFT in their definition.
    >
    > Signed-off-by: Tejun Heo <tj@kernel.org>
    > Cc: Bryan Wu <cooloney@kernel.org>
    > ---
    >  arch/blackfin/include/asm/percpu.h |   10 ----------
    >  include/linux/percpu.h             |   24 +++++++++++++-----------
    >  2 files changed, 13 insertions(+), 21 deletions(-)
    >
    > diff --git a/arch/blackfin/include/asm/percpu.h b/arch/blackfin/include/asm/percpu.h
    > index 797c0c1..c94c7bc 100644
    > --- a/arch/blackfin/include/asm/percpu.h
    > +++ b/arch/blackfin/include/asm/percpu.h
    > @@ -3,14 +3,4 @@
    >
    >  #include <asm-generic/percpu.h>
    >
    > -#ifdef CONFIG_MODULES
    > -#define PERCPU_MODULE_RESERVE 8192
    > -#else
    > -#define PERCPU_MODULE_RESERVE 0
    > -#endif
    > -
    > -#define PERCPU_ENOUGH_ROOM \
    > -       (ALIGN(__per_cpu_end - __per_cpu_start, SMP_CACHE_BYTES) + \
    > -        PERCPU_MODULE_RESERVE)
    > -
    >  #endif /* __ARCH_BLACKFIN_PERCPU__ */
    > diff --git a/include/linux/percpu.h b/include/linux/percpu.h
    > index 545b068..2d34b03 100644
    > --- a/include/linux/percpu.h
    > +++ b/include/linux/percpu.h
    > @@ -5,6 +5,7 @@
    >  #include <linux/slab.h> /* For kmalloc() */
    >  #include <linux/smp.h>
    >  #include <linux/cpumask.h>
    > +#include <linux/pfn.h>
    >
    >  #include <asm/percpu.h>
    >
    > @@ -52,17 +53,18 @@
    >  #define EXPORT_PER_CPU_SYMBOL(var) EXPORT_SYMBOL(per_cpu__##var)
    >  #define EXPORT_PER_CPU_SYMBOL_GPL(var) EXPORT_SYMBOL_GPL(per_cpu__##var)
    >
    > -/* Enough to cover all DEFINE_PER_CPUs in kernel, including modules. */
    > -#ifndef PERCPU_ENOUGH_ROOM
    > +/* enough to cover all DEFINE_PER_CPUs in modules */
    >  #ifdef CONFIG_MODULES
    > -#define PERCPU_MODULE_RESERVE  8192
    > +#define PERCPU_MODULE_RESERVE          (8 << 10)
    >  #else
    > -#define PERCPU_MODULE_RESERVE  0
    > +#define PERCPU_MODULE_RESERVE          0
    >  #endif
    >
    > +#ifndef PERCPU_ENOUGH_ROOM
    >  #define PERCPU_ENOUGH_ROOM                                             \
    > -       (__per_cpu_end - __per_cpu_start + PERCPU_MODULE_RESERVE)
    > -#endif /* PERCPU_ENOUGH_ROOM */
    > +       (ALIGN(__per_cpu_end - __per_cpu_start, SMP_CACHE_BYTES) +      \
    > +        PERCPU_MODULE_RESERVE)
    > +#endif
    >
    >  /*
    >  * Must be an lvalue. Since @var must be a simple identifier,
    > @@ -79,7 +81,7 @@
    >  #ifdef CONFIG_HAVE_DYNAMIC_PER_CPU_AREA
    >
    >  /* minimum unit size, also is the maximum supported allocation size */
    > -#define PCPU_MIN_UNIT_SIZE             (16UL << PAGE_SHIFT)
    > +#define PCPU_MIN_UNIT_SIZE             PFN_ALIGN(64 << 10)
    >
    >  /*
    >  * PERCPU_DYNAMIC_RESERVE indicates the amount of free area to piggy
    > @@ -96,15 +98,15 @@
    >  #ifndef PERCPU_DYNAMIC_RESERVE
    >  #  if BITS_PER_LONG > 32
    >  #    ifdef CONFIG_MODULES
    > -#      define PERCPU_DYNAMIC_RESERVE   (6 << PAGE_SHIFT)
    > +#      define PERCPU_DYNAMIC_RESERVE   (24 << 10)
    >  #    else
    > -#      define PERCPU_DYNAMIC_RESERVE   (4 << PAGE_SHIFT)
    > +#      define PERCPU_DYNAMIC_RESERVE   (16 << 10)
    >  #    endif
    >  #  else
    >  #    ifdef CONFIG_MODULES
    > -#      define PERCPU_DYNAMIC_RESERVE   (4 << PAGE_SHIFT)
    > +#      define PERCPU_DYNAMIC_RESERVE   (16 << 10)
    >  #    else
    > -#      define PERCPU_DYNAMIC_RESERVE   (2 << PAGE_SHIFT)
    > +#      define PERCPU_DYNAMIC_RESERVE   (8 << 10)
    >  #    endif
    >  #  endif
    >  #endif /* PERCPU_DYNAMIC_RESERVE */
    > --
    > 1.6.0.2
    >
    >
    --
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

    \
     
     \ /
      Last update: 2009-03-08 06:05    [W:0.393 / U:0.544 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site