Intel-Wired-Lan Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [Intel-wired-lan] [PATCH net v2] i40e/iavf: use better trace path
@ 2020-01-03  2:23 Jesse Brandeburg
  2020-01-06 20:18 ` Bowers, AndrewX
  2020-01-08 22:49 ` Jacob Keller
  0 siblings, 2 replies; 6+ messages in thread
From: Jesse Brandeburg @ 2020-01-03  2:23 UTC (permalink / raw)
  To: intel-wired-lan

I'm seeing compilation fail of the i40e/iavf driver for some reason.
I just checked 5.5-rc4 and the tip of net/net-next and all fail.
Fails all the way back to v5.1 at least, I didn't check further back.

repro steps:
$ gcc -v
gcc version 9.2.1 20190827 (Red Hat 9.2.1-1) (GCC)

$ git checkout -b my-net davem-net/master
$ make mrproper
$ make O=../my-net.obj defconfig allmodconfig modules_prepare
$ make O=../my-net.obj M=drivers/net/ethernet/intel/i40e

make[1]: Entering directory '/home/jbrandeb/git/my-net.obj'
  CC [M]  drivers/net/ethernet/intel/i40e/i40e_main.o
In file included from
/home/jbrandeb/git/linux2/drivers/net/ethernet/intel/i40e/i40e_trace.h:209,
                 from /home/jbrandeb/git/linux2/drivers/net/ethernet/intel/i40e/i40e_main.c:20:
/home/jbrandeb/git/linux2/include/trace/define_trace.h:95:42: fatal error: ./i40e_trace.h: No such file or directory
   95 | #include TRACE_INCLUDE(TRACE_INCLUDE_FILE)
      |                                          ^
compilation terminated.
make[2]: *** [/home/jbrandeb/git/linux2/scripts/Makefile.build:266: drivers/net/ethernet/intel/i40e/i40e_main.o] Error 1
make[1]: *** [/home/jbrandeb/git/linux2/Makefile:1693: drivers/net/ethernet/intel/i40e] Error 2
make[1]: Leaving directory '/home/jbrandeb/git/my-net.obj'
make: *** [Makefile:179: sub-make] Error 2

Just for sanity, I tried building the ice driver the same as above and
it succeeds, so the build does work for some drivers.

So fix the include path for the i40e driver trace file to be relative
to the kernel root like (some) other drivers do.

Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com>

---
v2: added iavf for the same fix
---
 drivers/net/ethernet/intel/i40e/i40e_trace.h | 2 +-
 drivers/net/ethernet/intel/iavf/iavf_trace.h | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/net/ethernet/intel/i40e/i40e_trace.h b/drivers/net/ethernet/intel/i40e/i40e_trace.h
index 424f02077e2e..122a3fcb62b1 100644
--- a/drivers/net/ethernet/intel/i40e/i40e_trace.h
+++ b/drivers/net/ethernet/intel/i40e/i40e_trace.h
@@ -203,7 +203,7 @@ DEFINE_EVENT(
  * module.
  */
 #undef TRACE_INCLUDE_PATH
-#define TRACE_INCLUDE_PATH .
+#define TRACE_INCLUDE_PATH ../../drivers/net/ethernet/intel/i40e
 #undef TRACE_INCLUDE_FILE
 #define TRACE_INCLUDE_FILE i40e_trace
 #include <trace/define_trace.h>
diff --git a/drivers/net/ethernet/intel/iavf/iavf_trace.h b/drivers/net/ethernet/intel/iavf/iavf_trace.h
index 1058e68a02b4..b2674c935c21 100644
--- a/drivers/net/ethernet/intel/iavf/iavf_trace.h
+++ b/drivers/net/ethernet/intel/iavf/iavf_trace.h
@@ -203,7 +203,7 @@ DEFINE_EVENT(
  * module.
  */
 #undef TRACE_INCLUDE_PATH
-#define TRACE_INCLUDE_PATH .
+#define TRACE_INCLUDE_PATH ../../drivers/net/ethernet/intel/iavf
 #undef TRACE_INCLUDE_FILE
 #define TRACE_INCLUDE_FILE iavf_trace
 #include <trace/define_trace.h>
-- 
2.24.1


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [Intel-wired-lan] [PATCH net v2] i40e/iavf: use better trace path
  2020-01-03  2:23 [Intel-wired-lan] [PATCH net v2] i40e/iavf: use better trace path Jesse Brandeburg
@ 2020-01-06 20:18 ` Bowers, AndrewX
  2020-01-08 22:49 ` Jacob Keller
  1 sibling, 0 replies; 6+ messages in thread
From: Bowers, AndrewX @ 2020-01-06 20:18 UTC (permalink / raw)
  To: intel-wired-lan

> -----Original Message-----
> From: Intel-wired-lan [mailto:intel-wired-lan-bounces at osuosl.org] On
> Behalf Of Jesse Brandeburg
> Sent: Thursday, January 2, 2020 6:24 PM
> To: intel-wired-lan at osuosl.org
> Subject: [Intel-wired-lan] [PATCH net v2] i40e/iavf: use better trace path
> 
> I'm seeing compilation fail of the i40e/iavf driver for some reason.
> I just checked 5.5-rc4 and the tip of net/net-next and all fail.
> Fails all the way back to v5.1 at least, I didn't check further back.
> 
> repro steps:
> $ gcc -v
> gcc version 9.2.1 20190827 (Red Hat 9.2.1-1) (GCC)
> 
> $ git checkout -b my-net davem-net/master $ make mrproper $ make
> O=../my-net.obj defconfig allmodconfig modules_prepare $ make O=../my-
> net.obj M=drivers/net/ethernet/intel/i40e
> 
> make[1]: Entering directory '/home/jbrandeb/git/my-net.obj'
>   CC [M]  drivers/net/ethernet/intel/i40e/i40e_main.o
> In file included from
> /home/jbrandeb/git/linux2/drivers/net/ethernet/intel/i40e/i40e_trace.h:20
> 9,
>                  from
> /home/jbrandeb/git/linux2/drivers/net/ethernet/intel/i40e/i40e_main.c:20:
> /home/jbrandeb/git/linux2/include/trace/define_trace.h:95:42: fatal error:
> ./i40e_trace.h: No such file or directory
>    95 | #include TRACE_INCLUDE(TRACE_INCLUDE_FILE)
>       |                                          ^
> compilation terminated.
> make[2]: *** [/home/jbrandeb/git/linux2/scripts/Makefile.build:266:
> drivers/net/ethernet/intel/i40e/i40e_main.o] Error 1
> make[1]: *** [/home/jbrandeb/git/linux2/Makefile:1693:
> drivers/net/ethernet/intel/i40e] Error 2
> make[1]: Leaving directory '/home/jbrandeb/git/my-net.obj'
> make: *** [Makefile:179: sub-make] Error 2
> 
> Just for sanity, I tried building the ice driver the same as above and it
> succeeds, so the build does work for some drivers.
> 
> So fix the include path for the i40e driver trace file to be relative to the kernel
> root like (some) other drivers do.
> 
> Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
> 
> ---
> v2: added iavf for the same fix
> ---
>  drivers/net/ethernet/intel/i40e/i40e_trace.h | 2 +-
> drivers/net/ethernet/intel/iavf/iavf_trace.h | 2 +-
>  2 files changed, 2 insertions(+), 2 deletions(-)

Tested-by: Andrew Bowers <andrewx.bowers@intel.com>



^ permalink raw reply	[flat|nested] 6+ messages in thread

* [Intel-wired-lan] [PATCH net v2] i40e/iavf: use better trace path
  2020-01-03  2:23 [Intel-wired-lan] [PATCH net v2] i40e/iavf: use better trace path Jesse Brandeburg
  2020-01-06 20:18 ` Bowers, AndrewX
@ 2020-01-08 22:49 ` Jacob Keller
  2020-01-08 22:55   ` Jacob Keller
  1 sibling, 1 reply; 6+ messages in thread
From: Jacob Keller @ 2020-01-08 22:49 UTC (permalink / raw)
  To: intel-wired-lan

On 1/2/2020 6:23 PM, Jesse Brandeburg wrote:
> I'm seeing compilation fail of the i40e/iavf driver for some reason.
> I just checked 5.5-rc4 and the tip of net/net-next and all fail.
> Fails all the way back to v5.1 at least, I didn't check further back.
> 
> repro steps:
> $ gcc -v
> gcc version 9.2.1 20190827 (Red Hat 9.2.1-1) (GCC)
> 
> $ git checkout -b my-net davem-net/master
> $ make mrproper
> $ make O=../my-net.obj defconfig allmodconfig modules_prepare
> $ make O=../my-net.obj M=drivers/net/ethernet/intel/i40e
> 
> make[1]: Entering directory '/home/jbrandeb/git/my-net.obj'
>   CC [M]  drivers/net/ethernet/intel/i40e/i40e_main.o
> In file included from
> /home/jbrandeb/git/linux2/drivers/net/ethernet/intel/i40e/i40e_trace.h:209,
>                  from /home/jbrandeb/git/linux2/drivers/net/ethernet/intel/i40e/i40e_main.c:20:
> /home/jbrandeb/git/linux2/include/trace/define_trace.h:95:42: fatal error: ./i40e_trace.h: No such file or directory
>    95 | #include TRACE_INCLUDE(TRACE_INCLUDE_FILE)
>       |                                          ^
> compilation terminated.
> make[2]: *** [/home/jbrandeb/git/linux2/scripts/Makefile.build:266: drivers/net/ethernet/intel/i40e/i40e_main.o] Error 1
> make[1]: *** [/home/jbrandeb/git/linux2/Makefile:1693: drivers/net/ethernet/intel/i40e] Error 2
> make[1]: Leaving directory '/home/jbrandeb/git/my-net.obj'
> make: *** [Makefile:179: sub-make] Error 2
> 
> Just for sanity, I tried building the ice driver the same as above and
> it succeeds, so the build does work for some drivers.
> 

So.. ice works for some reason but i40e and iavf do not? Is the ice
driver using a path relative to the root?

> So fix the include path for the i40e driver trace file to be relative
> to the kernel root like (some) other drivers do.

I'd really like to know why this isn't required by all drivers...

> 
> Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
> 
> ---
> v2: added iavf for the same fix
> ---
>  drivers/net/ethernet/intel/i40e/i40e_trace.h | 2 +-
>  drivers/net/ethernet/intel/iavf/iavf_trace.h | 2 +-
>  2 files changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/net/ethernet/intel/i40e/i40e_trace.h b/drivers/net/ethernet/intel/i40e/i40e_trace.h
> index 424f02077e2e..122a3fcb62b1 100644
> --- a/drivers/net/ethernet/intel/i40e/i40e_trace.h
> +++ b/drivers/net/ethernet/intel/i40e/i40e_trace.h
> @@ -203,7 +203,7 @@ DEFINE_EVENT(
>   * module.
>   */
>  #undef TRACE_INCLUDE_PATH
> -#define TRACE_INCLUDE_PATH .
> +#define TRACE_INCLUDE_PATH ../../drivers/net/ethernet/intel/i40e
>  #undef TRACE_INCLUDE_FILE
>  #define TRACE_INCLUDE_FILE i40e_trace
>  #include <trace/define_trace.h>
> diff --git a/drivers/net/ethernet/intel/iavf/iavf_trace.h b/drivers/net/ethernet/intel/iavf/iavf_trace.h
> index 1058e68a02b4..b2674c935c21 100644
> --- a/drivers/net/ethernet/intel/iavf/iavf_trace.h
> +++ b/drivers/net/ethernet/intel/iavf/iavf_trace.h
> @@ -203,7 +203,7 @@ DEFINE_EVENT(
>   * module.
>   */
>  #undef TRACE_INCLUDE_PATH
> -#define TRACE_INCLUDE_PATH .
> +#define TRACE_INCLUDE_PATH ../../drivers/net/ethernet/intel/iavf
>  #undef TRACE_INCLUDE_FILE
>  #define TRACE_INCLUDE_FILE iavf_trace
>  #include <trace/define_trace.h>
> 

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [Intel-wired-lan] [PATCH net v2] i40e/iavf: use better trace path
  2020-01-08 22:49 ` Jacob Keller
@ 2020-01-08 22:55   ` Jacob Keller
  2020-01-09 17:43     ` Jeff Kirsher
  0 siblings, 1 reply; 6+ messages in thread
From: Jacob Keller @ 2020-01-08 22:55 UTC (permalink / raw)
  To: intel-wired-lan

On 1/8/2020 2:49 PM, Jacob Keller wrote:
> On 1/2/2020 6:23 PM, Jesse Brandeburg wrote:
>> I'm seeing compilation fail of the i40e/iavf driver for some reason.
>> I just checked 5.5-rc4 and the tip of net/net-next and all fail.
>> Fails all the way back to v5.1 at least, I didn't check further back.
>>
>> repro steps:
>> $ gcc -v
>> gcc version 9.2.1 20190827 (Red Hat 9.2.1-1) (GCC)
>>
>> $ git checkout -b my-net davem-net/master
>> $ make mrproper
>> $ make O=../my-net.obj defconfig allmodconfig modules_prepare
>> $ make O=../my-net.obj M=drivers/net/ethernet/intel/i40e
>>
>> make[1]: Entering directory '/home/jbrandeb/git/my-net.obj'
>>   CC [M]  drivers/net/ethernet/intel/i40e/i40e_main.o
>> In file included from
>> /home/jbrandeb/git/linux2/drivers/net/ethernet/intel/i40e/i40e_trace.h:209,
>>                  from /home/jbrandeb/git/linux2/drivers/net/ethernet/intel/i40e/i40e_main.c:20:
>> /home/jbrandeb/git/linux2/include/trace/define_trace.h:95:42: fatal error: ./i40e_trace.h: No such file or directory
>>    95 | #include TRACE_INCLUDE(TRACE_INCLUDE_FILE)
>>       |                                          ^
>> compilation terminated.
>> make[2]: *** [/home/jbrandeb/git/linux2/scripts/Makefile.build:266: drivers/net/ethernet/intel/i40e/i40e_main.o] Error 1
>> make[1]: *** [/home/jbrandeb/git/linux2/Makefile:1693: drivers/net/ethernet/intel/i40e] Error 2
>> make[1]: Leaving directory '/home/jbrandeb/git/my-net.obj'
>> make: *** [Makefile:179: sub-make] Error 2
>>
>> Just for sanity, I tried building the ice driver the same as above and
>> it succeeds, so the build does work for some drivers.
>>
> 
> So.. ice works for some reason but i40e and iavf do not? Is the ice
> driver using a path relative to the root?
> 
>> So fix the include path for the i40e driver trace file to be relative
>> to the kernel root like (some) other drivers do.
> 
> I'd really like to know why this isn't required by all drivers...
> 

It looks like this is handled in driver's Makefile via:

ccflags-y += -I$(src)>-->------->-------# needed for trace events

or the following:

CFLAGS_trace.o := -I$(src)

This seems like the preferred solution when building with a separate
object tree.

Thanks,
Jake

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [Intel-wired-lan] [PATCH net v2] i40e/iavf: use better trace path
  2020-01-08 22:55   ` Jacob Keller
@ 2020-01-09 17:43     ` Jeff Kirsher
  2020-01-10  6:47       ` Jesse Brandeburg
  0 siblings, 1 reply; 6+ messages in thread
From: Jeff Kirsher @ 2020-01-09 17:43 UTC (permalink / raw)
  To: intel-wired-lan

On Wed, 2020-01-08 at 14:55 -0800, Jacob Keller wrote:
> On 1/8/2020 2:49 PM, Jacob Keller wrote:
> > On 1/2/2020 6:23 PM, Jesse Brandeburg wrote:
> > > I'm seeing compilation fail of the i40e/iavf driver for some
> > > reason.
> > > I just checked 5.5-rc4 and the tip of net/net-next and all fail.
> > > Fails all the way back to v5.1 at least, I didn't check further
> > > back.
> > > 
> > > repro steps:
> > > $ gcc -v
> > > gcc version 9.2.1 20190827 (Red Hat 9.2.1-1) (GCC)
> > > 
> > > $ git checkout -b my-net davem-net/master
> > > $ make mrproper
> > > $ make O=../my-net.obj defconfig allmodconfig modules_prepare
> > > $ make O=../my-net.obj M=drivers/net/ethernet/intel/i40e
> > > 
> > > make[1]: Entering directory '/home/jbrandeb/git/my-net.obj'
> > >   CC [M]  drivers/net/ethernet/intel/i40e/i40e_main.o
> > > In file included from
> > > /home/jbrandeb/git/linux2/drivers/net/ethernet/intel/i40e/i40e_tr
> > > ace.h:209,
> > >                  from
> > > /home/jbrandeb/git/linux2/drivers/net/ethernet/intel/i40e/i40e_ma
> > > in.c:20:
> > > /home/jbrandeb/git/linux2/include/trace/define_trace.h:95:42:
> > > fatal error: ./i40e_trace.h: No such file or directory
> > >    95 | #include TRACE_INCLUDE(TRACE_INCLUDE_FILE)
> > >       |                                          ^
> > > compilation terminated.
> > > make[2]: ***
> > > [/home/jbrandeb/git/linux2/scripts/Makefile.build:266:
> > > drivers/net/ethernet/intel/i40e/i40e_main.o] Error 1
> > > make[1]: *** [/home/jbrandeb/git/linux2/Makefile:1693:
> > > drivers/net/ethernet/intel/i40e] Error 2
> > > make[1]: Leaving directory '/home/jbrandeb/git/my-net.obj'
> > > make: *** [Makefile:179: sub-make] Error 2
> > > 
> > > Just for sanity, I tried building the ice driver the same as
> > > above and
> > > it succeeds, so the build does work for some drivers.
> > > 
> > 
> > So.. ice works for some reason but i40e and iavf do not? Is the ice
> > driver using a path relative to the root?
> > 
> > > So fix the include path for the i40e driver trace file to be
> > > relative
> > > to the kernel root like (some) other drivers do.
> > 
> > I'd really like to know why this isn't required by all drivers...
> > 
> 
> It looks like this is handled in driver's Makefile via:
> 
> ccflags-y += -I$(src)>-->------->-------# needed for trace events
> 
> or the following:
> 
> CFLAGS_trace.o := -I$(src)

I like the above solution, as it is much cleaner and less prone for
future errors, if the directory patch would change for whatever reason.

> 
> This seems like the preferred solution when building with a separate
> object tree.
> 
> Thanks,
> Jake
> _______________________________________________
> Intel-wired-lan mailing list
> Intel-wired-lan at osuosl.org
> https://lists.osuosl.org/mailman/listinfo/intel-wired-lan

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: This is a digitally signed message part
URL: <http://lists.osuosl.org/pipermail/intel-wired-lan/attachments/20200109/2c9dd3ad/attachment.asc>

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [Intel-wired-lan] [PATCH net v2] i40e/iavf: use better trace path
  2020-01-09 17:43     ` Jeff Kirsher
@ 2020-01-10  6:47       ` Jesse Brandeburg
  0 siblings, 0 replies; 6+ messages in thread
From: Jesse Brandeburg @ 2020-01-10  6:47 UTC (permalink / raw)
  To: intel-wired-lan

On Thu, 9 Jan 2020 09:43:52 -0800 Jeff wrote:
> On Wed, 2020-01-08 at 14:55 -0800, Jacob Keller wrote:
> > On 1/8/2020 2:49 PM, Jacob Keller wrote:  
>  [...]  
>  [...]  
>  [...]  
>  [...]  
>  [...]  
> > 
> > It looks like this is handled in driver's Makefile via:
> > 
> > ccflags-y += -I$(src)>-->------->-------# needed for trace events
> > 
> > or the following:
> > 
> > CFLAGS_trace.o := -I$(src)  
> 
> I like the above solution, as it is much cleaner and less prone for
> future errors, if the directory patch would change for whatever reason.

Hi Jeff, please drop this patch, I found after bisecting and finding a
commit in January of 2019 that causes my issue, that if I just change
the command sequence I do, everything works fine.

FAIL: make O=../foo.obj M=drivers/net/ethernet/intel/i40e

PASS: make O=../foo.obj M=`pwd`/drivers/net/ethernet/intel/i40e

So the change in behavior is somewhat introduced recently (a year ago)
but me just having to learn a new trick is better than trying to fix
this in the kernel.

Jesse

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2020-01-10  6:47 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-01-03  2:23 [Intel-wired-lan] [PATCH net v2] i40e/iavf: use better trace path Jesse Brandeburg
2020-01-06 20:18 ` Bowers, AndrewX
2020-01-08 22:49 ` Jacob Keller
2020-01-08 22:55   ` Jacob Keller
2020-01-09 17:43     ` Jeff Kirsher
2020-01-10  6:47       ` Jesse Brandeburg

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox