[dpdk-dev] [PATCH] enic: corrected the usage of VFIO_PRESENT

Sujith Sankar (ssujith) ssujith at cisco.com
Tue Dec 16 11:34:06 CET 2014



On 16/12/14 3:52 pm, "Burakov, Anatoly" <anatoly.burakov at intel.com> wrote:

>> On 16/12/14 4:54 am, "Thomas Monjalon" <thomas.monjalon at 6wind.com>
>> wrote:
>> 
>> >2014-12-12 13:48, Sujith Sankar:
>> >> This patch corrects the usage of the flag VFIO_PRESENT in enic
>>driver.
>> >
>> >Please, could you explain why the flag VFIO_PRESENT was not well used?
>> 
>> Without including eal_vfio.h, VFIO_PRESENT is not available in enic.
>> Hence VFIO specific code in enic was not getting compiled and some
>>errors
>> were generated during run-time.
>> 
>> >
>> >> This has uncovered a few warnings, and this patch corrects those too.
>> >[...]
>> >> --- a/lib/librte_pmd_enic/enic_main.c
>> >> +++ b/lib/librte_pmd_enic/enic_main.c
>> >> @@ -39,6 +39,7 @@
>> >>  #include <sys/mman.h>
>> >>  #include <fcntl.h>
>> >>  #include <libgen.h>
>> >> +#include <sys/ioctl.h>
>> >>
>> >>  #include <rte_pci.h>
>> >>  #include <rte_memzone.h>
>> >> @@ -46,6 +47,7 @@
>> >>  #include <rte_mbuf.h>
>> >>  #include <rte_string_fns.h>
>> >>  #include <rte_ethdev.h>
>> >> +#include <eal_vfio.h>
>> >
>> >This header was not designed to be included by PMDs.
>> >It will break compilation on BSD.
>> 
>> Is there an alternative to make VFIO_PRESENT available in enic?  Please
>> advise.
>> 
>> Thanks,
>> -Sujith
>> 
>> >
>> >>  #include "enic_compat.h"
>> >>  #include "enic.h"
>> >> @@ -561,6 +563,7 @@ enic_free_consistent(__rte_unused struct
>> >>rte_pci_device *hwdev,
>> >>  	/* Nothing to be done */
>> >>  }
>> >>
>> >> +#ifndef VFIO_PRESENT
>> >>  static void
>> >>  enic_intr_handler(__rte_unused struct rte_intr_handle *handle,
>> >>  	void *arg)
>> >> @@ -572,6 +575,7 @@ enic_intr_handler(__rte_unused struct
>> >>rte_intr_handle *handle,
>> >>
>> >>  	enic_log_q_error(enic);
>> >>  }
>> >> +#endif
>> >
>> >--
>> >Thomas
>
>Hi Sujith
>
>Thomas is correct, VFIO code is designed to be EAL-only (mainly because
>it's Linuxapp-specific, and PMD's are intended to be cross-platform at
>least when it comes to compilation). Whatever it is that you're working
>around is better fixed in the EAL itself rather than in the PMD.

I agree with you and Thomas.  Let me find the root cause for the false
trigger. 

Thanks,
-Sujith

>
>Thanks,
>Anatoly



More information about the dev mailing list