diff mbox series

dma-mapping: benchmark: Fix compile error in user-space tool

Message ID 20221205135022.49708-1-gbayer@linux.ibm.com (mailing list archive)
State New
Headers show
Series dma-mapping: benchmark: Fix compile error in user-space tool | expand

Commit Message

Gerd Bayer Dec. 5, 2022, 1:50 p.m. UTC
Since [1] the user-space program dma_map_benchmark shares the header file
linux/map_benchmark.h with the kernel driver in kernel/dma/map_benchmark.c.
With latest kernel version this does not compile any more.

While https://kernelnewbies.org/KernelHeaders suggests otherwise, allow it
to use of kernel headers through the uapi/ include direcotry. I assume we can
do so safely, since the controlling user-space program is distributed with
the kernel.

With this change dma_map_benchmark compiles with just the obvious warning
about uapi usage on ARCH=x86 and s390 and runs on ARCH=s390.

[1] commit 8ddde07a3d28 ("dma-mapping: benchmark: extract a common header file for map_benchmark definition")

Signed-off-by: Gerd Bayer <gbayer@linux.ibm.com>
---
 tools/testing/selftests/dma/dma_map_benchmark.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)


base-commit: 8abacb3356e68261ccd3a2ad74ed6042363e5d0f

Comments

chenxiang Dec. 6, 2022, 3:13 a.m. UTC | #1
在 2022/12/5 21:50, Gerd Bayer 写道:
> Since [1] the user-space program dma_map_benchmark shares the header file
> linux/map_benchmark.h with the kernel driver in kernel/dma/map_benchmark.c.
> With latest kernel version this does not compile any more.
>
> While https://kernelnewbies.org/KernelHeaders suggests otherwise, allow it
> to use of kernel headers through the uapi/ include direcotry. I assume we can
> do so safely, since the controlling user-space program is distributed with
> the kernel.
>
> With this change dma_map_benchmark compiles with just the obvious warning
> about uapi usage on ARCH=x86 and s390 and runs on ARCH=s390.
>
> [1] commit 8ddde07a3d28 ("dma-mapping: benchmark: extract a common header file for map_benchmark definition")
>
> Signed-off-by: Gerd Bayer <gbayer@linux.ibm.com>

It also solves the compile error on arm64 platform.
Acked-by:  Xiang Chen <chenxiang66@hisilicon.com>

> ---
>   tools/testing/selftests/dma/dma_map_benchmark.c | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/tools/testing/selftests/dma/dma_map_benchmark.c b/tools/testing/selftests/dma/dma_map_benchmark.c
> index 5c997f17fcbd..d49d7ea6a63e 100644
> --- a/tools/testing/selftests/dma/dma_map_benchmark.c
> +++ b/tools/testing/selftests/dma/dma_map_benchmark.c
> @@ -10,7 +10,7 @@
>   #include <unistd.h>
>   #include <sys/ioctl.h>
>   #include <sys/mman.h>
> -#include <linux/types.h>
> +#include <uapi/linux/types.h>
>   #include <linux/map_benchmark.h>
>   
>   #define NSEC_PER_MSEC	1000000L
>
> base-commit: 8abacb3356e68261ccd3a2ad74ed6042363e5d0f
Gerd Bayer Dec. 16, 2022, 2:35 p.m. UTC | #2
On Tue, 2022-12-06 at 11:13 +0800, chenxiang (M) wrote:
> 
> 在 2022/12/5 21:50, Gerd Bayer 写道:
> > Since [1] the user-space program dma_map_benchmark shares the
> > header file
> > linux/map_benchmark.h with the kernel driver in
> > kernel/dma/map_benchmark.c.
> > With latest kernel version this does not compile any more.
> > 
> > While https://kernelnewbies.org/KernelHeaders suggests otherwise,
> > allow it
> > to use of kernel headers through the uapi/ include direcotry. I
> > assume we can
> > do so safely, since the controlling user-space program is
> > distributed with
> > the kernel.
> > 
> > With this change dma_map_benchmark compiles with just the obvious
> > warning
> > about uapi usage on ARCH=x86 and s390 and runs on ARCH=s390.
> > 
> > [1] commit 8ddde07a3d28 ("dma-mapping: benchmark: extract a common
> > header file for map_benchmark definition")
> > 
> > Signed-off-by: Gerd Bayer <gbayer@linux.ibm.com>
> 
> It also solves the compile error on arm64 platform.
> Acked-by:  Xiang Chen <chenxiang66@hisilicon.com>

Hi Xiang Chen, hi Shuah,

so is there any chance to have this compile fix integrated into linux-
next still, or is this too late now?

Thanks,
Gerd

> 
> > ---
> >   tools/testing/selftests/dma/dma_map_benchmark.c | 2 +-
> >   1 file changed, 1 insertion(+), 1 deletion(-)
> > 
> > diff --git a/tools/testing/selftests/dma/dma_map_benchmark.c
> > b/tools/testing/selftests/dma/dma_map_benchmark.c
> > index 5c997f17fcbd..d49d7ea6a63e 100644
> > --- a/tools/testing/selftests/dma/dma_map_benchmark.c
> > +++ b/tools/testing/selftests/dma/dma_map_benchmark.c
> > @@ -10,7 +10,7 @@
> >   #include <unistd.h>
> >   #include <sys/ioctl.h>
> >   #include <sys/mman.h>
> > -#include <linux/types.h>
> > +#include <uapi/linux/types.h>
> >   #include <linux/map_benchmark.h>
> >   
> >   #define NSEC_PER_MSEC 1000000L
> > 
> > base-commit: 8abacb3356e68261ccd3a2ad74ed6042363e5d0f
>
chenxiang Dec. 19, 2022, 12:40 a.m. UTC | #3
+cc Christoph Hellwig


在 2022/12/16 22:35, Gerd Bayer 写道:
> On Tue, 2022-12-06 at 11:13 +0800, chenxiang (M) wrote:
>> 在 2022/12/5 21:50, Gerd Bayer 写道:
>>> Since [1] the user-space program dma_map_benchmark shares the
>>> header file
>>> linux/map_benchmark.h with the kernel driver in
>>> kernel/dma/map_benchmark.c.
>>> With latest kernel version this does not compile any more.
>>>
>>> While https://kernelnewbies.org/KernelHeaders suggests otherwise,
>>> allow it
>>> to use of kernel headers through the uapi/ include direcotry. I
>>> assume we can
>>> do so safely, since the controlling user-space program is
>>> distributed with
>>> the kernel.
>>>
>>> With this change dma_map_benchmark compiles with just the obvious
>>> warning
>>> about uapi usage on ARCH=x86 and s390 and runs on ARCH=s390.
>>>
>>> [1] commit 8ddde07a3d28 ("dma-mapping: benchmark: extract a common
>>> header file for map_benchmark definition")
>>>
>>> Signed-off-by: Gerd Bayer <gbayer@linux.ibm.com>
>> It also solves the compile error on arm64 platform.
>> Acked-by:  Xiang Chen <chenxiang66@hisilicon.com>
> Hi Xiang Chen, hi Shuah,
>
> so is there any chance to have this compile fix integrated into linux-
> next still, or is this too late now?
>
> Thanks,
> Gerd
>
>>> ---
>>>    tools/testing/selftests/dma/dma_map_benchmark.c | 2 +-
>>>    1 file changed, 1 insertion(+), 1 deletion(-)
>>>
>>> diff --git a/tools/testing/selftests/dma/dma_map_benchmark.c
>>> b/tools/testing/selftests/dma/dma_map_benchmark.c
>>> index 5c997f17fcbd..d49d7ea6a63e 100644
>>> --- a/tools/testing/selftests/dma/dma_map_benchmark.c
>>> +++ b/tools/testing/selftests/dma/dma_map_benchmark.c
>>> @@ -10,7 +10,7 @@
>>>    #include <unistd.h>
>>>    #include <sys/ioctl.h>
>>>    #include <sys/mman.h>
>>> -#include <linux/types.h>
>>> +#include <uapi/linux/types.h>
>>>    #include <linux/map_benchmark.h>
>>>    
>>>    #define NSEC_PER_MSEC 1000000L
>>>
>>> base-commit: 8abacb3356e68261ccd3a2ad74ed6042363e5d0f
> .
>
Christoph Hellwig Dec. 21, 2022, 10:27 a.m. UTC | #4
Can you explain what the problem is?  I just say a maze of quotes
and top posting replies.
Shuah Khan Dec. 21, 2022, 4:39 p.m. UTC | #5
On 12/16/22 07:35, Gerd Bayer wrote:
> On Tue, 2022-12-06 at 11:13 +0800, chenxiang (M) wrote:
>>
>> 在 2022/12/5 21:50, Gerd Bayer 写道:
>>> Since [1] the user-space program dma_map_benchmark shares the
>>> header file
>>> linux/map_benchmark.h with the kernel driver in
>>> kernel/dma/map_benchmark.c.
>>> With latest kernel version this does not compile any more.
>>>
>>> While https://kernelnewbies.org/KernelHeaders suggests otherwise,
>>> allow it
>>> to use of kernel headers through the uapi/ include direcotry. I
>>> assume we can
>>> do so safely, since the controlling user-space program is
>>> distributed with
>>> the kernel.
>>>
>>> With this change dma_map_benchmark compiles with just the obvious
>>> warning
>>> about uapi usage on ARCH=x86 and s390 and runs on ARCH=s390.
>>>
>>> [1] commit 8ddde07a3d28 ("dma-mapping: benchmark: extract a common
>>> header file for map_benchmark definition")
>>>
>>> Signed-off-by: Gerd Bayer <gbayer@linux.ibm.com>
>>
>> It also solves the compile error on arm64 platform.
>> Acked-by:  Xiang Chen <chenxiang66@hisilicon.com>
> 
> Hi Xiang Chen, hi Shuah,
> 
> so is there any chance to have this compile fix integrated into linux-
> next still, or is this too late now?
Plan to apply this after the merge window closes

thanks,
-- Shuah
Shuah Khan Dec. 21, 2022, 4:44 p.m. UTC | #6
On 12/21/22 09:39, Shuah Khan wrote:
> On 12/16/22 07:35, Gerd Bayer wrote:
>> On Tue, 2022-12-06 at 11:13 +0800, chenxiang (M) wrote:
>>>
>>> 在 2022/12/5 21:50, Gerd Bayer 写道:
>>>> Since [1] the user-space program dma_map_benchmark shares the
>>>> header file
>>>> linux/map_benchmark.h with the kernel driver in
>>>> kernel/dma/map_benchmark.c.
>>>> With latest kernel version this does not compile any more.
>>>>
>>>> While https://kernelnewbies.org/KernelHeaders suggests otherwise,
>>>> allow it
>>>> to use of kernel headers through the uapi/ include direcotry. I
>>>> assume we can
>>>> do so safely, since the controlling user-space program is
>>>> distributed with
>>>> the kernel.
>>>>
>>>> With this change dma_map_benchmark compiles with just the obvious
>>>> warning
>>>> about uapi usage on ARCH=x86 and s390 and runs on ARCH=s390.
>>>>
>>>> [1] commit 8ddde07a3d28 ("dma-mapping: benchmark: extract a common
>>>> header file for map_benchmark definition")
>>>>
>>>> Signed-off-by: Gerd Bayer <gbayer@linux.ibm.com>
>>>
>>> It also solves the compile error on arm64 platform.
>>> Acked-by:  Xiang Chen <chenxiang66@hisilicon.com>
>>
>> Hi Xiang Chen, hi Shuah,
>>
>> so is there any chance to have this compile fix integrated into linux-
>> next still, or is this too late now?
> Plan to apply this after the merge window closes
> 

The reason for the delay is this patch doesn't have the right commit
header. This should have been "selftests:dma -----"

It makes it easier for maintainers to parse and pay attention to the
patches if they indicate the area they fall under. Something to
keep in mind for your future patches.

Please resend the patch with the Acks you received and a correct
commit header.

thanks,
-- Shuah
Gerd Bayer Jan. 9, 2023, 4:45 p.m. UTC | #7
On Wed, 2022-12-21 at 09:44 -0700, Shuah Khan wrote:
> On 12/21/22 09:39, Shuah Khan wrote:
> > On 12/16/22 07:35, Gerd Bayer wrote:
> > > On Tue, 2022-12-06 at 11:13 +0800, chenxiang (M) wrote:
> > > > 
> > > > 在 2022/12/5 21:50, Gerd Bayer 写道:
> > > > > Since [1] the user-space program dma_map_benchmark shares the
> > > > > header file
> > > > > linux/map_benchmark.h with the kernel driver in
> > > > > kernel/dma/map_benchmark.c.
> > > > > With latest kernel version this does not compile any more.
 [...]
> > > > 
> > > > It also solves the compile error on arm64 platform.
> > > > Acked-by:  Xiang Chen <chenxiang66@hisilicon.com>
> > > 
> > > Hi Xiang Chen, hi Shuah,
> > > 
> > > so is there any chance to have this compile fix integrated into
> > > linux-
> > > next still, or is this too late now?
> > Plan to apply this after the merge window closes
> > 
> 
> The reason for the delay is this patch doesn't have the right commit
> header. This should have been "selftests:dma -----"
> 
> It makes it easier for maintainers to parse and pay attention to the
> patches if they indicate the area they fall under. Something to
> keep in mind for your future patches.
> 
> Please resend the patch with the Acks you received and a correct
> commit header.
> 
> thanks,
> -- Shuah

Shuah,

thank you for your explanation. I'm working on resending the patch.

Thanks,
Gerd
diff mbox series

Patch

diff --git a/tools/testing/selftests/dma/dma_map_benchmark.c b/tools/testing/selftests/dma/dma_map_benchmark.c
index 5c997f17fcbd..d49d7ea6a63e 100644
--- a/tools/testing/selftests/dma/dma_map_benchmark.c
+++ b/tools/testing/selftests/dma/dma_map_benchmark.c
@@ -10,7 +10,7 @@ 
 #include <unistd.h>
 #include <sys/ioctl.h>
 #include <sys/mman.h>
-#include <linux/types.h>
+#include <uapi/linux/types.h>
 #include <linux/map_benchmark.h>
 
 #define NSEC_PER_MSEC	1000000L