git: Remove nearly all MP contention from ip_randomid()

Matthew Dillon dillon at crater.dragonflybsd.org
Mon Sep 7 19:25:25 PDT 2009


commit 93992dc9adff19ba1fc7dbc18499aa0f78aba2d5
Author: Matthew Dillon <dillon at apollo.backplane.com>
Date:   Mon Sep 7 19:21:34 2009 -0700

    Remove nearly all MP contention from ip_randomid()
    
    * Instead of using two global spinlocks split the id space up into
      ncpus_fit independant sections and shuffle within each section.
    
    * Aggregate the random number generation into blocks of 32, on a
      per-cpu basis, to reduce cpu contention there.
    
    Using-test-output-by: Aggelos Economopoulos <aoiko at cc.ece.ntua.gr>

Summary of changes:
 sys/netinet/ip_id.c |   49 +++++++++++++++++++++++++++++++++++++++++--------
 1 files changed, 41 insertions(+), 8 deletions(-)

http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/93992dc9adff19ba1fc7dbc18499aa0f78aba2d5


-- 
DragonFly BSD source repository





More information about the Commits mailing list