[dpdk-dev] [PATCH RFC 0/3] only call iopl when necessary

Xie, Huawei huawei.xie at intel.com
Wed Aug 27 11:57:20 CEST 2014

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.marchand at 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


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

More information about the dev mailing list