DragonFly commits List (threaded) for 2012-12
[
Date Prev][
Date Next]
[
Thread Prev][
Thread Next]
[
Date Index][
Thread Index]
git: ifq/staging: Perform IFQ packet staging for if_start scheduling
commit 3cab6b0d05a1505b50befc1ffad2c25620b6775c
Author: Sepherosa Ziehau <sephe@dragonflybsd.org>
Date: Mon Dec 24 17:35:29 2012 +0800
ifq/staging: Perform IFQ packet staging for if_start scheduling
IFQ packets staging is now performed for ifnet's if_start scheduling,
i.e. if_start_schedule(), in addition to direct ifnet's if_start calling.
IFQ packets staging stopping condition
- if_start interlock (if_snd.altq_started) is not released.
is now changed to
- if_start_schedule() is not pending on the current CPU and if_start
interlock (if_snd.altq_started) is not released.
By setting net.link.stage_cntmax to 8 and hw.igbX.tx_wreg_nsegs to 16,
following performance improvement is gained:
+80Kpps for normal IP forwarding
+30Kpps for fast IP forwarding
Summary of changes:
sys/net/altq/if_altq.h | 1 +
sys/net/if.c | 114 ++++++++++++++++++++++++++++++------------------
2 files changed, 73 insertions(+), 42 deletions(-)
http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/3cab6b0d05a1505b50befc1ffad2c25620b6775c
--
DragonFly BSD source repository
[
Date Prev][
Date Next]
[
Thread Prev][
Thread Next]
[
Date Index][
Thread Index]