On Tue, Feb 24, 2015 at 12:23:15PM +0100, David Marchand wrote: > Hello Bruce, > > On Tue, Feb 24, 2015 at 11:53 AM, Bruce Richardson < > bruce.richardson at intel.com> wrote: > > > On Mon, Feb 23, 2015 at 05:02:33PM +0000, Bruce Richardson wrote: > > > This patch does some cleanup of the uio mapping code to > > > a) fix issue with mmap of PCI bars reported by Tetsuya and confirmed > > > by others. > > > b) eliminate redundant code and reduce scans of /sys > > > > > > > > > Bruce Richardson (2): > > > eal: mmap uio resources using resourceX files > > > eal: populate uio_maps from pci mem_resources array > > > > > > lib/librte_eal/common/include/rte_pci.h | 2 +- > > > lib/librte_eal/linuxapp/eal/eal_pci_init.h | 1 + > > > lib/librte_eal/linuxapp/eal/eal_pci_uio.c | 173 > > +++++++++++------------------ > > > lib/librte_eal/linuxapp/eal/eal_pci_vfio.c | 1 + > > > 4 files changed, 66 insertions(+), 111 deletions(-) > > > > > > -- > > > 2.1.0 > > > > > Given your previous suggestions on the uio_pic_generic code, I'd appreciate > > any feedback you could provide on this patchset. > > > Well, I only have one pending question on the use of resourceX files > instead of /dev/uioX. > You rely on sysfs mmap code for pci resources. > Is this really equivalent to uio mmap operations ?
uio_pci_generic provides no mappings via /dev/uioX, so the may to mmap the bars using uio_pci_generic is via the sysfs. [1] > If you can ensure me this won't break igb_uio setups, then these patches > are ok for me. Since igb_uio is based on the same uio_pci_generic framework, what works for uio_pci_generic should work for igb_uio also - and testing indicates that this works. Danny could perhaps provide better insights than I can into any guarantees as to not breaking things, but I've tested this on a couple of platforms with 1G and 10G NICs using both igb_uio and uio_pci_generic, both individually and in combination. I've also verified multiprocess support and done a quick sanity test with 32-bit. Everything seems ok in testing thus far. > > Thanks for the cleanup in eal_pci_uio.c. > No problem. > > -- > David Marchand /Bruce [1]: https://lkml.org/lkml/2012/3/20/375