Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 15 Apr 2008 21:15:32 +0000 (UTC)
From:      Alexander Motin <mav@FreeBSD.org>
To:        src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org
Subject:   cvs commit: src/sys/netgraph netgraph.h ng_base.c src/sys/netgraph/bluetooth/include ng_bluetooth.h
Message-ID:  <200804152115.m3FLFWnK026345@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
mav         2008-04-15 21:15:32 UTC

  FreeBSD src repository

  Modified files:
    sys/netgraph         netgraph.h ng_base.c 
    sys/netgraph/bluetooth/include ng_bluetooth.h 
  Log:
  Several changes breaking netgraph module ABI collected together:
   - reorder structures fields (XX_refs) a bit to group fields modified
     same time together. According to my tests it gives up to 10%
     SMP performance benefit on real workload due to reduced inter-CPU
     cache trashing.
   - change q_flags from long to int as long is not really needed there and
     it's usage with atomics is argued by some people.
   - move NGF_WORKQ flag into the separate field q_flags2 as it protected by
     queue mutex instead of node writer protection used by the rest of flags.
   - move nd_work queue entry to ng_queue structure to which it is more
     related and make it STAILQ instead of TAILQ as now it is a classic FIFO.
   - remove q_node pointer from ng_queue structure as it is not really needed.
   - reimplement item queue using STAILQ instead of own equal implementation.
     As soon as BT subsystem has own item queues using ng_item.el_next update
     it also.
   - change depth field in ng_item from uintptr_t to u_int. It was made
     uintptr_t to keep ABI compatibility.
  
  Reviewed by:    julian, emax
  Tested with:    Netperf cluster
  
  Revision  Changes    Path
  1.5       +15 -23    src/sys/netgraph/bluetooth/include/ng_bluetooth.h
  1.73      +9 -12     src/sys/netgraph/netgraph.h
  1.157     +91 -104   src/sys/netgraph/ng_base.c



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200804152115.m3FLFWnK026345>