[dpdk-dev] [RFC] igb_uio: deprecate iomem and ioport mapping

Stephen Hemminger stephen at networkplumber.org
Sat Dec 3 00:47:06 CET 2016


On Thu,  1 Sep 2016 02:16:37 +0000
Jianfeng Tan <jianfeng.tan at intel.com> wrote:

> Previously in igb_uio, iomem is mapped, and both ioport and io mem
> are recorded into uio framework, which is duplicated and makes the
> code too complex.
> 
> For iomem, DPDK user space code never opens or reads files under
> /sys/pci/bus/devices/xxxx:xx:xx.x/uio/uioY/maps/. Instead,
> /sys/pci/bus/devices/xxxx:xx:xx.x/resourceY are used to map device
> memory.
> 
> For ioport, non-x86 platforms cannot read from files under
> /sys/pci/bus/devices/xxxx:xx:xx.x/uio/uioY/portio/ directly, because
> non-x86 platforms need to map port region for access in user space,
> see non-x86 version pci_uio_ioport_map(). x86 platforms can use the
> the same way as uio_pci_generic.
> 
> This patch deprecates iomem and ioport mapping in igb_uio kernel
> module, and adjusts the iomem implementation in both igb_uio and
> uio_pci_generic:
>   - for x86 platform, get ports info from /proc/ioports;
>   - for non-x86 platform, map and get ports info by pci_uio_ioport_map().
> 
> Note: this will affect those applications who are using files under
> /sys/pci/bus/devices/xxxx:xx:xx.x/uio/uioY/maps/ and
> /sys/pci/bus/devices/xxxx:xx:xx.x/uio/uioY/portio/.
> 
> Signed-off-by: Jianfeng Tan <jianfeng.tan at intel.com>

What about people using older kernels with the new DPDK EAL and
vice versa?  It makes sense to make igb_uio generic for non DPDK
usage, so it should probably follow the other UIO drivers.




More information about the dev mailing list