Hi, > -----Original Message----- > From: Yigit, Ferruh > Sent: Thursday, January 5, 2017 11:24 PM > To: Tan, Jianfeng; Stephen Hemminger > Cc: dev@dpdk.org; david.march...@6wind.com > Subject: Re: [RFC] igb_uio: deprecate iomem and ioport mapping > > On 12/5/2016 7:04 AM, Tan, Jianfeng wrote: > > Hi Stephen, > > > >> -----Original Message----- > >> From: Stephen Hemminger [mailto:step...@networkplumber.org] > >> Sent: Saturday, December 3, 2016 7:47 AM > >> To: Tan, Jianfeng > >> Cc: dev@dpdk.org; david.march...@6wind.com; Yigit, Ferruh > >> Subject: Re: [RFC] igb_uio: deprecate iomem and ioport mapping > >> > >> On Thu, 1 Sep 2016 02:16:37 +0000 > >> Jianfeng Tan <jianfeng....@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....@intel.com> > >> > >> What about people using older kernels with the new DPDK EAL and > >> vice versa? > > > > There are two things planned in this proposal: > > (1) deprecating iomem mapping in igb_uio, which is not used in DPDK code > anyway. > > (2) deprecating ioport mapping in igb_uio, which has effect on ioport > mapping for x86 platforms. The way we use to make up is to leverage how > uio_pci_generic does, aka, based on /proc/ioports, and this proc file is > available at very early stage of Linux (Even before 2.6.32). > > > > So I don't see a problem there when running the new DPDK EAL on older > kernels. > > > > On the other way, running old DPDK EAL on new kernels, and using new > igb_uio, right? Oops, this should have problem. Thank you for pointing out > this. So how about just removing iomem? And my motivation to clean > igb_uio like this way is to fix a problem here: > http://dpdk.org/dev/patchwork/patch/17495/. > > > >> It makes sense to make igb_uio generic for non DPDK > >> usage, so it should probably follow the other UIO drivers. > >> > > > > Then the problem would be backward compatibility. I might need to > reconsider this. > > Hi Jianfeng, > > Taking into account that this patch is for cleanup, and there may be > some backward compatibility issues mentioned by Stephen, would you mind > dropping this patch?
I agree to drop this patch. > > If you agree to drop, would you mind sending a patch to remove existing > deprecation notice? No problem, I'll do that. Thanks, Jianfeng > > Thanks, > ferruh > > > > > Thank you for reviewing! > > > > Thanks, > > Jianfeng > >