Thomas, John, thanks for your notes.
Enclosed the contents of our chats, On 13/10/2015 18:36, Mcnamara, John wrote: > * PMD lite > > - Do we need a lighter PMD model? Perhaps based on the Mellanox > model. > - Vincent suggested be could remove 90% of the code. I'll leave > Vincent explain this one. benefits of 100% userland drivers: - no dependency on getting kernel patch upstreams first - it is possible to run on a latest HW even when the Linux host (or host OS) does not support the new NIC/boards supported by the DPDK drawbacks of 100% userland drivers: - redundancy of source code (duplication into the kernel and userland) => more maintenance - DPDK PMDs are in fact outdated while kernel drivers are supporting latest HW (port management - optics - , latest HW revisions, managing firmware updates) more frequently - do not run when not root applications - cannot reuse port management tools from the kernels (ethtool, etc.) ixgbe pmd ========= 100% lines of userland must be run as root ~ 40K lines ~ kernel overlaps with http://dpdk.org/browse/dpdk/tree/drivers/net/ixgbe/base ~ mostly only http://dpdk.org/browse/dpdk/tree/drivers/net/ixgbe/ixgbe_rxtx[_vec].c is needed, other files are not needed (6k lines of code) mlx4 pmd ======== 10% lines userland, then using kernel's ones could be run as a non root process ~ 5.2K lines of code ~ the rxtx.c file is http://dpdk.org/browse/dpdk/tree/drivers/net/mlx4/ BUT using infiniband :( => should be cleand up to use bare minimum like, + /* Allocate protection domain. */ http://dpdk.org/browse/dpdk/tree/drivers/net/mlx4/mlx4.c#n4828 + Register memory regions -> ibv_reg_mr() http://dpdk.org/browse/dpdk/tree/drivers/net/mlx4/mlx4.c#n792 Best regards, Vincent