Click to expand image.
Kernel Explorers
Saturday, October 15, 2011
Thursday, June 16, 2011
GSoC: Multiqueue BPF support and other BPF features
I became a Ph.D course student from this April, so I decided to apply Google Summer of Code 2011, and it was accepted.
It's FreeBSD project, working on network stack improvement.
Short description:
The project goal is to support multiqueue network interface on BPF, and provide interfaces for multithreaded packet processing using BPF. BPF is raw interface of network devices, which allows to receive / send Data Link Layer frame directly. 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.
Proposal:
http://www.google-melange.com/gsoc/proposal/review/google/gsoc2011/syuu1228/1
Repository:
http://p4db.freebsd.org/depotTreeBrowser.cgi?FSPC=//depot/projects/soc2011/mq_bpf&HIDEDEL=NO
It's FreeBSD project, working on network stack improvement.
Short description:
The project goal is to support multiqueue network interface on BPF, and provide interfaces for multithreaded packet processing using BPF. BPF is raw interface of network devices, which allows to receive / send Data Link Layer frame directly. 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.
Proposal:
http://www.google-melange.com/gsoc/proposal/review/google/gsoc2011/syuu1228/1
Repository:
http://p4db.freebsd.org/depotTreeBrowser.cgi?FSPC=//depot/projects/soc2011/mq_bpf&HIDEDEL=NO
OpenBSD/OCTEON status
I just merged Ethernet driver, but there're still missing drivers remain:
CPU: Only Single core worked, tested on CN5020
RAM: Can't access 256MB-512MB region
UART: Worked
CF: Original driver required, slow & eat CPU power, maybe dependent to a board
Ethernet: Worked
USB: Not yet
PCI: Not yet
SATA(via PCI): Not yet
Crypt: Not yet
Timer: Not yet
Right now we're only testing on Portwell CAM-0100, but we may try more hardware later. Possibly IIJ SEIL/X1.
Wednesday, January 12, 2011
Packet receiving flow on NetBSD/i386
OpenBSD forked from NetBSD long years ago, but the code are still similar.
I even could reuse the OpenBSD chart for this.
I checked lock granularity and how parallelized, unfortunately it doesn't allow multiple cpus process hw interrupt or software interrupt in parallel.
It does allow multiple cpus entering system call on same time, but only one processor can run network software interrupt because it locks whole network subsystem.
And hw interrupt takes big kernel lock.
I even could reuse the OpenBSD chart for this.
I checked lock granularity and how parallelized, unfortunately it doesn't allow multiple cpus process hw interrupt or software interrupt in parallel.
It does allow multiple cpus entering system call on same time, but only one processor can run network software interrupt because it locks whole network subsystem.
And hw interrupt takes big kernel lock.
Sunday, January 9, 2011
Thursday, January 6, 2011
Wednesday, January 5, 2011
Subscribe to:
Posts (Atom)



