Differences
This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
| devsummit:200511 [2005/10/28 12:07] – MaxLaier | devsummit:200511 [2021/04/25 05:40] (current) – Move to DevSummit namespace. JethroNederhof | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| - | Thursday | + | ====== Introduction ====== |
| + | The %%FreeBSD%% Developer Summit associated with %%EuroBSDCon%% 2005 was occurring on Thursday, | ||
| + | ====== Schedule ideas ====== | ||
| + | **We will have projectors | ||
| - | On Friday we will join the tutorial crowd at a restaurant. | + | ---- |
| - | Directions for the room will follow. | + | Silby wishes to spend some time talking about how students interact with Fedora / other Linux distros and how this impacts %%FreeBSD%%. |
| - | Schedule ideas here: | + | 10 minutes - Overview of Google' |
| - | Silby wishes | + | 45 minutes - Discussion of network polling, device polling, interrupts, and things along those lines. |
| + | |||
| + | 15 minutes - Discussion of models for parallelism in the network stack -- where will adding more threads help, vs hurt. Related | ||
| + | |||
| + | 15 minutes - Formalizing the network stack device driver API -- what should and shouldn' | ||
| + | |||
| + | 30 minutes - NFSv4 client, server. | ||
| + | |||
| + | 15 minutes - Timekeeping, | ||
| + | |||
| + | 15 minutes - Lockless PFIL. (mlaier, andre) | ||
| + | |||
| + | 30 minutes - New IPv4 SMP friendly routing table, changes to rtentry/ | ||
| + | |||
| + | 15 minutes - Removing inter-linking from INPCBs to allow parallesim for incoming packets. | ||
| + | |||
| + | 15 minutes - Incoming concurrent TCP segments on multiple CPUs, lockless per-TCPCB queue? | ||
| + | |||
| + | 30 minutes - Interface groups, implications for sockets, jails and (policy) routing. | ||
| + | |||
| + | ====== Actual Turnout ====== | ||
| + | |||
| + | Thursday: | ||
| + | |||
| + | Friday: | ||
| + | |||
| + | Silby did his Fedora presentation, | ||
| + | |||
| + | Chuck Lever gave a high-level overview of NFSv4 and the state of current implementations. | ||
| + | |||
| + | Poul-Henning gave a detailed explanation of the state of our time infrastructure. | ||
| + | |||
| + | After lunch we split into groups. | ||
| + | |||
| + | Network group log (provided by Silby): | ||
| + | Network BOF: | ||
| + | Started around 2:40pm | ||
| + | |||
| + | Topics to discuss: | ||
| + | |||
| + | * tcpsecure changes | ||
| + | * tcp callout improvements | ||
| + | * stack virtualization vs interface groups | ||
| + | * lockless pfil | ||
| + | * routing table already covered | ||
| + | * network stack device driver API | ||
| + | * polling | ||
| + | * run to completion, | ||
| + | * MD5 checks | ||
| + | * tcpdump-like logging for weird packets | ||
| + | |||
| + | Notes: | ||
| + | |||
| + | Silby is working on tcp sequence numbers, timestamps | ||
| + | |||
| + | Max brings up MD5 verification, | ||
| + | |||
| + | Andre' | ||
| + | * T/TCP version 2 | ||
| + | * uses a session cookie, which can secure sessions | ||
| + | * the cookie also allows subsequent connections to skip the 3WHS | ||
| + | |||
| + | Max on PFIL | ||
| + | * hacked up shared lock used by the packet filters | ||
| + | * a few implementations already, but no decision yet on which is best | ||
| + | * linear array | ||
| + | * singly linked list | ||
| + | * general lockless updates would be nice | ||
| + | * Most recent idea/ | ||
| + | |||
| + | Andre | ||
| + | * Atomic ops may be better than locks for an interface queue | ||
| + | |||
| + | Ed: | ||
| + | * device polling | ||
| + | * locking wasn't correct until recently | ||
| + | * only applies to network devices (would be good to extend) | ||
| + | * no feedback from poll handlers telling | ||
| + | * falls down when you hit 100% cpu usage | ||
| + | * done per network device instance right now | ||
| + | * SMP issues all resolved, wasn't actually a problem on 4.x SMP anyway | ||
| + | * firewire might be something else that could use it | ||
| + | * is interrupt moderation a good thing to add? - maybe, if possible - linux does it | ||
| + | * real time data acquisition might want polling as well | ||
| + | |||
| + | silby: | ||
| + | * tcpsecure discussion | ||
| + | * RST solution we have is fine - tcpsecure' | ||
| + | * SYN solution from tcpsecure seems good | ||
| + | * data injection protection seems to make sense | ||
| + | * andre/silby will try to open a constructive dialog with the tcpm working group | ||
| + | |||
| + | andre: | ||
| + | * we need empirical evidence of what tcp problems (out of order, etc) are happening | ||
| + | * Data collectors at yahoo? | ||
| + | |||
| + | silby: | ||
| + | * kernel tcpdump-like | ||
| + | * pflog can be used for this | ||
| + | * queue of packets over the past few seconds | ||
| + | |||
| + | silby/ | ||
| + | * no empircal data yet | ||
| + | * optimization: | ||
| + | * rework callout wheel entirely | ||
| + | * locking is one problem | ||
| + | * hash-based nature of it is another | ||
| + | * scales to accuracy of hz, we don't need that accuracy | ||
| + | * change the time of a callout, but leave it in the same bucket move it to the correct bucket later | ||
| + | * has potential | ||
| + | |||
| + | andre/se: | ||
| + | * should we delay acks at all? | ||
| + | |||
| + | silby/ | ||
| + | * dragonfly acks all packets that arrived in one batch with only one ack | ||
| + | * more data needed before changing this | ||
| + | |||
| + | andre: | ||
| + | * dynamic tcp socket buffers | ||
| + | |||
| + | silby: | ||
| + | * reduce delayed ack time | ||
| + | * to 3*rtt? | ||
| + | * to 3*inter-packet time? | ||
| + | |||
| + | * tcp retransmit timeouts - do they need tuning for modern networks? | ||
| + | |||
| + | andre: | ||
| + | * bw delay products for various networks | ||
| + | |||
| + | andre: | ||
| + | * stack virualization vs interface groups | ||
| + | * virtualization causes nearly everything to be virtualized | ||
| + | * interface groups help with | ||
| + | * better jails | ||
| + | * policy routing | ||
| + | * research uses may be better served by virtualization for simulation purposes | ||
| + | * does xen buy the same research options? | ||
| + | * one use of vimage would be to make routing changes, then switch the stack atomically | ||
| + | |||
| + | andre: | ||
| + | * openBGPD might be ported | ||
| + | |||
| + | long xen/vmware discussion | ||
| + | * maybe network performance can be optimized in vmware | ||
| + | |||
| + | andre: | ||
| + | * M_EOR flag will be used by SCTP, so we can't just remove it. | ||
| + | * SCTP has a few different implementations | ||
| + | * the KAME seems to be out of date | ||
| + | * Linux has a possibly different version | ||
| + | * Solaris has it too, origin unknown | ||
| + | |||
| + | silby: | ||
| + | * ephemeral port quick reuse due to port randomization | ||
| + | * bloom filters? | ||
| + | * list of most recently closed ports in a static array | ||
| + | * array of ports, timestamps of when they were most recently used | ||
| + | * we need to calculate out connection rate * # ports * desired recycled time to see what is acceptable | ||
| + | |||
| + | 5:34pm - %%BoF%% breaks up | ||