lkml.org 
[lkml]   [2011]   [Jun]   [11]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    SubjectRe: [PATCH net-next-2.6] snmp: reduce percpu needs by 50%
    From
    From: Eric Dumazet <eric.dumazet@gmail.com>
    Date: Sat, 11 Jun 2011 07:45:51 +0200

    > SNMP mibs use two percpu arrays, one used in BH context, another in USER
    > context. With increasing number of cpus in machines, and fact that ipv6
    > uses per network device ipstats_mib, this is consuming a lot of memory
    > if many network devices are registered.
    >
    > commit be281e554e2a (ipv6: reduce per device ICMP mib sizes) shrinked
    > percpu needs for ipv6, but we can reduce memory use a bit more.
    >
    > With recent percpu infrastructure (irqsafe_cpu_inc() ...), we no longer
    > need this BH/USER separation since we can update counters in a single
    > x86 instruction, regardless of the BH/USER context.
    >
    > Other arches than x86 might need to disable irq in their
    > irqsafe_cpu_inc() implementation : If this happens to be a problem, we
    > can make SNMP_ARRAY_SZ arch dependent, but a previous poll
    > ( https://lkml.org/lkml/2011/3/17/174 ) to arch maintainers did not
    > raise strong opposition.
    >
    > Only on 32bit arches, we need to disable BH for 64bit counters updates
    > done from USER context (currently used for IP MIB)
    >
    > This also reduces vmlinux size :
    >
    > 1) x86_64 build
    > $ size vmlinux.before vmlinux.after
    > text data bss dec hex filename
    > 7853650 1293772 1896448 11043870 a8841e vmlinux.before
    > 7850578 1293772 1896448 11040798 a8781e vmlinux.after
    >
    > 2) i386 build
    > $ size vmlinux.before vmlinux.afterpatch
    > text data bss dec hex filename
    > 6039335 635076 3670016 10344427 9dd7eb vmlinux.before
    > 6037342 635076 3670016 10342434 9dd022 vmlinux.afterpatch
    >
    > Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>

    Looks good to me, applied, thanks Eric.


    \
     
     \ /
      Last update: 2011-06-12 01:27    [W:0.045 / U:0.188 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site