2024-05-08 14:42:46

by Loktionov, Aleksandr

[permalink] [raw]
Subject: RE: [Intel-wired-lan] [PATCH net-next v1 1/1] net: intel: Use *-y instead of *-objs in Makefile



> -----Original Message-----
> From: Intel-wired-lan <[email protected]> On
> Behalf Of Alexander Lobakin
> Sent: Wednesday, May 8, 2024 4:40 PM
> To: Andy Shevchenko <[email protected]>
> Cc: Alexei Starovoitov <[email protected]>; Jesper Dangaard Brouer
> <[email protected]>; Daniel Borkmann <[email protected]>;
> [email protected]; Richard Cochran <[email protected]>;
> John Fastabend <[email protected]>; linux-
> [email protected]; Eric Dumazet <[email protected]>; intel-
> [email protected]; Jakub Kicinski <[email protected]>;
> Keller, Jacob E <[email protected]>; Nguyen, Anthony L
> <[email protected]>; [email protected]; Paolo Abeni
> <[email protected]>; David S. Miller <[email protected]>
> Subject: Re: [Intel-wired-lan] [PATCH net-next v1 1/1] net: intel:
> Use *-y instead of *-objs in Makefile
>
> From: Alexander Lobakin <[email protected]>
> Date: Wed, 8 May 2024 16:39:21 +0200
>
> > From: Andy Shevchenko <[email protected]>
> > Date: Wed, 8 May 2024 17:25:31 +0300
> >
> >> On Wed, May 08, 2024 at 03:35:26PM +0200, Alexander Lobakin
> wrote:
> >>>> *-objs suffix is reserved rather for (user-space) host
> programs
> >>>> while usually *-y suffix is used for kernel drivers (although
> >>>> *-objs works for that purpose for now).
> >>>>
> >>>> Let's correct the old usages of *-objs in Makefiles.
> >>>
> >>> Wait, I was sure I've seen somewhere that -objs is more new and
> >>> preferred over -y.
> >>
> >> Then you are mistaken.
> >>
> >>> See recent dimlib comment where Florian changed -y to -objs for
> >>> example.
> >>
> >> So does he :-)
> >>
> >>> Any documentation reference that -objs is for userspace and we
> >>> should clearly use -y?
> >>
> >> Sure. Luckily it's documented in
> Documentation/kbuild/makefiles.rst
> >> "Composite Host Programs" (mind the meaning of the word
> "host"!).
> >
> > Oh okay, I see. `-objs` is indeed only mentioned in the host
> chapter.
>
> Reviewed-by: Alexander Lobakin <[email protected]>
>
> Thanks,
> Olek

Reviewed-by: Aleksandr Loktionov <[email protected]>


2024-05-08 17:58:57

by Jacob Keller

[permalink] [raw]
Subject: Re: [Intel-wired-lan] [PATCH net-next v1 1/1] net: intel: Use *-y instead of *-objs in Makefile



On 5/8/2024 7:42 AM, Loktionov, Aleksandr wrote:
>
>
>> -----Original Message-----
>> From: Intel-wired-lan <[email protected]> On
>> Behalf Of Alexander Lobakin
>> Sent: Wednesday, May 8, 2024 4:40 PM
>> To: Andy Shevchenko <[email protected]>
>> Cc: Alexei Starovoitov <[email protected]>; Jesper Dangaard Brouer
>> <[email protected]>; Daniel Borkmann <[email protected]>;
>> [email protected]; Richard Cochran <[email protected]>;
>> John Fastabend <[email protected]>; linux-
>> [email protected]; Eric Dumazet <[email protected]>; intel-
>> [email protected]; Jakub Kicinski <[email protected]>;
>> Keller, Jacob E <[email protected]>; Nguyen, Anthony L
>> <[email protected]>; [email protected]; Paolo Abeni
>> <[email protected]>; David S. Miller <[email protected]>
>> Subject: Re: [Intel-wired-lan] [PATCH net-next v1 1/1] net: intel:
>> Use *-y instead of *-objs in Makefile
>>
>> From: Alexander Lobakin <[email protected]>
>> Date: Wed, 8 May 2024 16:39:21 +0200
>>
>>> From: Andy Shevchenko <[email protected]>
>>> Date: Wed, 8 May 2024 17:25:31 +0300
>>>
>>>> On Wed, May 08, 2024 at 03:35:26PM +0200, Alexander Lobakin
>> wrote:
>>>>>> *-objs suffix is reserved rather for (user-space) host
>> programs
>>>>>> while usually *-y suffix is used for kernel drivers (although
>>>>>> *-objs works for that purpose for now).
>>>>>>
>>>>>> Let's correct the old usages of *-objs in Makefiles.
>>>>>
>>>>> Wait, I was sure I've seen somewhere that -objs is more new and
>>>>> preferred over -y.
>>>>
>>>> Then you are mistaken.
>>>>
>>>>> See recent dimlib comment where Florian changed -y to -objs for
>>>>> example.
>>>>
>>>> So does he :-)
>>>>
>>>>> Any documentation reference that -objs is for userspace and we
>>>>> should clearly use -y?
>>>>
>>>> Sure. Luckily it's documented in
>> Documentation/kbuild/makefiles.rst
>>>> "Composite Host Programs" (mind the meaning of the word
>> "host"!).
>>>
>>> Oh okay, I see. `-objs` is indeed only mentioned in the host
>> chapter.
>>
>> Reviewed-by: Alexander Lobakin <[email protected]>
>>
>> Thanks,
>> Olek
>
> Reviewed-by: Aleksandr Loktionov <[email protected]>

Yea, reading the makefiles.rst again, it does seem that -objs only is
intended for host programs. The fact that it works now is an accident.
Further use of -y is necessary as we also use module-$(CONFIG_SYMBOL) to
resolve cases where we only include the files if the configuration is set.

Makes sense to clean this up.

Reviewed-by: Jacob Keller <[email protected]>

2024-05-08 23:07:06

by Andy Shevchenko

[permalink] [raw]
Subject: Re: [Intel-wired-lan] [PATCH net-next v1 1/1] net: intel: Use *-y instead of *-objs in Makefile

On Wed, May 08, 2024 at 10:58:37AM -0700, Jacob Keller wrote:
> On 5/8/2024 7:42 AM, Loktionov, Aleksandr wrote:
> >> From: Alexander Lobakin <[email protected]>
> >> Date: Wed, 8 May 2024 16:39:21 +0200
> >>> From: Andy Shevchenko <[email protected]>
> >>> Date: Wed, 8 May 2024 17:25:31 +0300
> >>>> On Wed, May 08, 2024 at 03:35:26PM +0200, Alexander Lobakin
> >> wrote:
> >>>>>> *-objs suffix is reserved rather for (user-space) host
> >> programs
> >>>>>> while usually *-y suffix is used for kernel drivers (although
> >>>>>> *-objs works for that purpose for now).
> >>>>>>
> >>>>>> Let's correct the old usages of *-objs in Makefiles.
> >>>>>
> >>>>> Wait, I was sure I've seen somewhere that -objs is more new and
> >>>>> preferred over -y.
> >>>>
> >>>> Then you are mistaken.
> >>>>
> >>>>> See recent dimlib comment where Florian changed -y to -objs for
> >>>>> example.
> >>>>
> >>>> So does he :-)
> >>>>
> >>>>> Any documentation reference that -objs is for userspace and we
> >>>>> should clearly use -y?
> >>>>
> >>>> Sure. Luckily it's documented in
> >> Documentation/kbuild/makefiles.rst
> >>>> "Composite Host Programs" (mind the meaning of the word
> >> "host"!).
> >>>
> >>> Oh okay, I see. `-objs` is indeed only mentioned in the host
> >> chapter.
> >>
> >> Reviewed-by: Alexander Lobakin <[email protected]>
> >>
> >> Thanks,
> >> Olek
> >
> > Reviewed-by: Aleksandr Loktionov <[email protected]>
>
> Yea, reading the makefiles.rst again, it does seem that -objs only is
> intended for host programs. The fact that it works now is an accident.
> Further use of -y is necessary as we also use module-$(CONFIG_SYMBOL) to
> resolve cases where we only include the files if the configuration is set.
>
> Makes sense to clean this up.
>
> Reviewed-by: Jacob Keller <[email protected]>

Oops, just sent a v2 to address LKP findings. Can you look at it instead?

--
With Best Regards,
Andy Shevchenko