On Tue, Feb 24, 2015 at 12:32 PM, Bruce Richardson < bruce.richardson at intel.com> wrote:
> 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. > Ok, noted. I am looking at your v3. -- David Marchand