That is ok. If virtio PMD is a dynamic linked library, is it possible that virtio PMD is loaded later?
From: David Marchand [mailto:david.march...@6wind.com] Sent: Wednesday, August 27, 2014 5:34 PM To: Xie, Huawei Cc: dev at dpdk.org Subject: Re: [dpdk-dev] [PATCH RFC 0/3] only call iopl when necessary Hello, On Wed, Aug 27, 2014 at 11:22 AM, Xie, Huawei <huawei.xie at intel.com<mailto:huawei.xie at intel.com>> wrote: 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. rte_virtio_pmd_init() is the constructor that registers the virtio pmd in the driver list. It is called from rte_eal_dev_init() in rte_eal_init(). So it means my patch only moved the call to iopl() a little later in rte_eal_init() and this is still before any thread has been created. I can't see why this would cause a problem. -- David Marchand