[mq_bpf] status report #8

Takuya ASADA syuu at dokukino.com
Thu Jul 21 00:33:40 UTC 2011


*Project summary
The project goal is to support multiqueue network interface on BPF,
and provide interfaces for multithreaded packet processing using BPF.
Modern high performance NICs have multiple receive/send queues and RSS
feature, this allows to process packet concurrently on multiple
processors.
Main purpose of the project is to support these hardware and get
benefit of parallelism.

Here's status update from last week:
- Implemented test_mqbpf
- Move tests to src/tools/regression/bpf/mq_bpf
- I realized d->bd_qmask is not protected from parallel access, it was
the reason mq_bpf was unstable. BPFQ_LOCK added for it
- BPFIF_LOCK rewrited as rwlock again
- Measuring performance of mq_bpf using test_sqbpf/test_mqbpf

Commit logs:
http://p4web.freebsd.org/@@196193?ac=10
test_mqbpf implemented.

http://p4web.freebsd.org/@@196219?ac=10
test_mqbpf fix, BPFIF_LOCK reverted to mtx to stabilize, remove
LOG_DEBUG and SDT for debugging, HASHTYPE support for igb

http://p4web.freebsd.org/@@196221?ac=10
test_mqbpf bug fix

http://p4web.freebsd.org/@@196391?ac=10
remove debug logging/dtrace probe

http://p4web.freebsd.org/@@196392?ac=10
Define RSSTYPE on header.

http://p4web.freebsd.org/@@196395?ac=10
follow style(9).

http://p4web.freebsd.org/@@196397?ac=10
NULL check before free()

http://p4web.freebsd.org/@@196400?ac=10
unified variable name from rxq/txq to rxqueue/txqueue.

http://p4web.freebsd.org/@@196403?ac=10
skip genarating flowid on multiqueue if.

http://p4web.freebsd.org/@@196458?ac=10
lock bpf_d during reading/writing qmask, reduce number of threads on test_mqbpf

http://p4web.freebsd.org/@@196464?ac=10
Rewrite BPFIF_LOCK to rwlock, rwlock for bpf_qmask added, tests moved
to src/tools/regression/bpf/mq_bpf

http://p4web.freebsd.org/@@196466?ac=10
NULL check is not needed for free(9), pointed out by Joshua Neal


More information about the soc-status mailing list