Message ID | 20221205135022.49708-1-gbayer@linux.ibm.com |
---|---|
State | New |
Headers | show |
Series | dma-mapping: benchmark: Fix compile error in user-space tool | expand |
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 >
+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 > . >
Can you explain what the problem is? I just say a maze of quotes and top posting replies.
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
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
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 --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
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