Hi David: The reason iopl is put in rte_eal_init is that we want all later created DPDK processes/threads inherit the iopl permission. If you only call iopl in pmd_init, RX/TX and other threads which needs io permission will segmentation fault.
-huawei > -----Original Message----- > From: dev [mailto:dev-bounces at dpdk.org] On Behalf Of David Marchand > Sent: Tuesday, August 26, 2014 10:12 PM > To: dev at dpdk.org > Subject: [dpdk-dev] [PATCH RFC 0/3] only call iopl when necessary > > This patch series is just a little clean up to remove the unconditionnal call > to > iopl on linux. > Rather than call iopl() at the eal level, let the PMD that needs it call > rte_eal_iopl_init(). > > -- > David Marchand > > David Marchand (3): > eal/bsd: fix fd leak > eal: don't call rte_eal_iopl_init unconditionnally > eal: remove unused flags field > > lib/librte_eal/bsdapp/eal/eal.c | 6 ++---- > lib/librte_eal/common/include/rte_eal.h | 17 +++++++++++------ > lib/librte_eal/linuxapp/eal/eal.c | 11 ++++------- > lib/librte_pmd_virtio/virtio_ethdev.c | 15 ++++++++------- > 4 files changed, 25 insertions(+), 24 deletions(-) > > -- > 1.7.10.4