IO Visor TSC/Dev Meeting Minutes


Brenden Blanco <bblanco@...>
 

Hi All,

Today we had our biweekly sync-up call. It was a lively discussion, and I
captured some but not all of the notes below.

One administrative note is that a new wiki project has been created on
github.com/iovisor/wiki. It should be open for anyone with a github account to
make edits, so please feel free to add your wishlist, things that are being
worked on, etc. If there is something that is relevant to a particular project
(e.g. bcc), please track it there separately/in addition to, perhaps with a
hyperlink to the issue #.

Attendees:

Rich Lane
Prem Jonnalagadda
Mihai Budiu
Keith Burns
John Fastabend
Jianwen Pi
Deepa Kalani
Brenden Blanco
Brendan Gregg
Billy O'Mahony
Alexei Starovoitov

Here is a summary of the discussions during the meeting:

Brendan G. recently added support for stack trace / callchain magic, see
http://www.brendangregg.com/blog/2016-01-20/ebpf-offcpu-flame-graph.html for
instance. He has more things in the works, for instance is what he called
'wake-up chains'. Stay tuned!

Alexei S. mentioned mmap-ing arrays as something that might add nice
performance characteristics to the tools that Brendan is working on. Alexei,
please feel free to add your thoughts to the wiki.

Tracepoints continue to be a requested feature, Alexei says this still needs
some work, there have been several iterations - the discussion should be
resurrected.
* One fear from the kernel community is that all arguments to tracepoints will
become fixed ABI if exposed in the wrong way.

On the networking side, some folks are working to sprinkle tracepoints in the
tcp stack.

Brendan mentioned that the dtrace book has some relevant use cases, that would
be nice to share with the folks working on adding new tracepoints. Brendan, can
you provide us with the link to that?

Also mentioned was tcpdive (https://github.com/fastos/tcpdive), based on
systemtap, which looks like an interesting tool to compare to.

Alexei mentions that Facebook is having a kernel meetup/miniconference in the
Bay Area in March. Ping Alexei for details.

John F. has been having a hardware/kernel offload discussion in the background
* Working on Intel drivers to bring switch/nic hardware mapping support into tc
* Haven't tackled bpf implementation yet
* Alexei asking for pointers on what bpf support might be needed
* Working backwards from bpf seems tricky
* Already did a p4 translation to bpf with load to tc ingress
* Requirement for tcam-like map support
* Upcall would be nice (for trying to implement ovs with bpf)
- Currently forwarding to a tap device
- Alexei: something like ipvlan, where something can just be "put" into a
device without veth overhead

* DPDK + iomodule support is still on the radar: no new updates besides that

Here are also some miscellaneous notes/idea, Alexei can you put these
on the wiki perhaps?

Idea: maybe include socket information along with skb, to build stateful
programs more easily

Idea: protocol gro with eBPF

Idea: may be able to push/pop arbitrary headers

llvm-dev: someone looked into adding vector support to bpf backend


Finally, I showed progress that has been made on the GBP iomodule
implementation. That continues to be captured at
https://github.com/iovisor/iomodules.

Keith will be potentially looking to include that in a demo format at an
upcoming Cisco event.