[dpdk-dev] [PATCH] eal: disable IOVA mode detection by default

santosh santosh.shukla at caviumnetworks.com
Wed Nov 1 12:06:05 CET 2017


On Wednesday 01 November 2017 04:01 PM, Thomas Monjalon wrote:
> 01/11/2017 02:07, Ferruh Yigit:
>> Fix kernel crash with KNI because KNI requires physical addresses.
>>
>> A config option introduced to disable IOVA mode detection and to set it
>> to physical address by default. Disabling config option will enable IOVA
>> mode detection.
>>
>> When there is no intension to use KNI, it is safe to enable detection.
>>
>> Config option disable IOVA mode detection by default to be sure only who
>> is aware of result enable it.
>>
>> Fixes: 72d013644bd6 ("mem: honor IOVA mode in malloc virt2phy")
>>
>> Signed-off-by: Ferruh Yigit <ferruh.yigit at intel.com>
>> ---
>> +#ifdef RTE_EAL_USE_PHYS_IOVA
>> +	rte_eal_get_configuration()->iova_mode = RTE_IOVA_PA;
>> +#else
>>  	/* autodetect the iova mapping mode (default is iova_pa) */
>>  	rte_eal_get_configuration()->iova_mode = rte_bus_get_iommu_class();
>> +#endif
> I don't understand why you are adding a compile-time option.
> I think it should be an EAL option --use-phys-addr.
> The opposite option may be required to force VA: --use-virt-addr.
> And if there is no option given, we fallback to autodetect.
> We can improve the autodetect by checking whether rte_kni.ko is loaded.

IMO, we could introduce a rule for kni in iova autodetection(/for linux case)
such away that: 

if cat /proc/modules has rte_kni entry 
then use default iova=pa mode.

so +1 to your proposition Thomas.

> Opinions?



More information about the dev mailing list