]> CyberLeo.Net >> Repos - FreeBSD/stable/10.git/commit
MFC r318382
authordavidcs <davidcs@ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f>
Mon, 22 May 2017 19:36:26 +0000 (19:36 +0000)
committerdavidcs <davidcs@ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f>
Mon, 22 May 2017 19:36:26 +0000 (19:36 +0000)
commita1a18e7795213c77fa1612e4bf402f55201bbd5b
treea0b3e849833f9c3b21913259d0a75b6d8f2d48f4
parent735575ad2e948b734ff7aab83e20b5cd4fc1aa92
MFC r318382
 1. Move Rx Processing to fp_taskqueue(). With this CPU utilization for
    processing interrupts drops to around 1% for 100G and under 1% for
    other speeds.
 2. Use sysctls for TRACE_LRO_CNT and TRACE_TSO_PKT_LEN
 3. remove unused mtx tx_lock
 4. bind taskqueue kernel thread to the appropriate cpu core
 5. when tx_ring is full, stop further transmits till at least 1/16th of
    the Tx Ring is empty. In our case 1K entries. Also if there are
    rx_pkts to process, put the taskqueue thread to sleep for 100ms,
    before enabling interrupts.
 6. Use rx_pkt_threshold of 128.

git-svn-id: svn://svn.freebsd.org/base/stable/10@318661 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
sys/dev/qlnx/qlnxe/qlnx_def.h
sys/dev/qlnx/qlnxe/qlnx_os.c
sys/dev/qlnx/qlnxe/qlnx_os.h
sys/modules/qlnx/qlnxe/Makefile