Message ID | 8ffa3be3dc7b27345dde3bb32498c4cd3af050fa.1688632590.git.geert+renesas@glider.be (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [libdrm,v2] amdgpu: Use PRI?64 to format uint64_t | expand |
Am 06.07.23 um 10:36 schrieb Geert Uytterhoeven: > On 32-bit: > > ../tests/amdgpu/amdgpu_stress.c: In function ‘alloc_bo’: > ../tests/amdgpu/amdgpu_stress.c:178:49: warning: format ‘%lx’ expects argument of type ‘long unsigned int’, but argument 4 has type ‘uint64_t’ {aka ‘long long unsigned int’} [-Wformat=] > fprintf(stdout, "Allocated BO number %u at 0x%lx, domain 0x%x, size %lu\n", > ~~^ > %llx > num_buffers++, addr, domain, size); > ~~~~ > ../tests/amdgpu/amdgpu_stress.c:178:72: warning: format ‘%lu’ expects argument of type ‘long unsigned int’, but argument 6 has type ‘uint64_t’ {aka ‘long long unsigned int’} [-Wformat=] > fprintf(stdout, "Allocated BO number %u at 0x%lx, domain 0x%x, size %lu\n", > ~~^ > %llu > num_buffers++, addr, domain, size); > ~~~~ > ../tests/amdgpu/amdgpu_stress.c: In function ‘submit_ib’: > ../tests/amdgpu/amdgpu_stress.c:276:54: warning: format ‘%lx’ expects argument of type ‘long unsigned int’, but argument 5 has type ‘uint64_t’ {aka ‘long long unsigned int’} [-Wformat=] > fprintf(stdout, "Submitted %u IBs to copy from %u(%lx) to %u(%lx) %lu bytes took %lu usec\n", > ~~^ > %llx > count, from, virtual[from], to, virtual[to], copied, delta / 1000); > ~~~~~~~~~~~~~ > ../tests/amdgpu/amdgpu_stress.c:276:65: warning: format ‘%lx’ expects argument of type ‘long unsigned int’, but argument 7 has type ‘uint64_t’ {aka ‘long long unsigned int’} [-Wformat=] > fprintf(stdout, "Submitted %u IBs to copy from %u(%lx) to %u(%lx) %lu bytes took %lu usec\n", > ~~^ > %llx > count, from, virtual[from], to, virtual[to], copied, delta / 1000); > ~~~~~~~~~~~ > ../tests/amdgpu/amdgpu_stress.c:276:70: warning: format ‘%lu’ expects argument of type ‘long unsigned int’, but argument 8 has type ‘uint64_t’ {aka ‘long long unsigned int’} [-Wformat=] > fprintf(stdout, "Submitted %u IBs to copy from %u(%lx) to %u(%lx) %lu bytes took %lu usec\n", > ~~^ > %llu > count, from, virtual[from], to, virtual[to], copied, delta / 1000); > ~~~~~~ > ../tests/amdgpu/amdgpu_stress.c:276:85: warning: format ‘%lu’ expects argument of type ‘long unsigned int’, but argument 9 has type ‘uint64_t’ {aka ‘long long unsigned int’} [-Wformat=] > fprintf(stdout, "Submitted %u IBs to copy from %u(%lx) to %u(%lx) %lu bytes took %lu usec\n", > ~~^ > %llu > count, from, virtual[from], to, virtual[to], copied, delta / 1000); > ~~~~~~~~~~~~ > ../tests/amdgpu/amdgpu_stress.c: In function ‘parse_size’: > ../tests/amdgpu/amdgpu_stress.c:296:24: warning: format ‘%li’ expects argument of type ‘long int *’, but argument 3 has type ‘uint64_t *’ {aka ‘long long unsigned int *’} [-Wformat=] > if (sscanf(optarg, "%li%1[kmgKMG]", &size, ext) < 1) { > ~~^ ~~~~~ > %lli > ../tests/amdgpu/amdgpu_stress.c: In function ‘main’: > ../tests/amdgpu/amdgpu_stress.c:378:45: warning: format ‘%lu’ expects argument of type ‘long unsigned int’, but argument 3 has type ‘uint64_t’ {aka ‘long long unsigned int’} [-Wformat=] > fprintf(stderr, "Buffer size to small %lu\n", size); > ~~^ ~~~~ > %llu > > Fix this by using the proper "PRI?64" format specifiers. > > Fixes: d77ccdf3ba6f5a39 ("amdgpu: add amdgpu_stress utility v2") > Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be> Well generally good patch, but libdrm changes are now reviewed by merge request and not on the mailing list any more. Regards, Christian. > --- > On Linux/amd64, the format strings in the resulting binary are > unchanged. > > v2: > - Use PRI?64 to unbreak 64-bit build. > --- > tests/amdgpu/amdgpu_stress.c | 9 +++++---- > 1 file changed, 5 insertions(+), 4 deletions(-) > > diff --git a/tests/amdgpu/amdgpu_stress.c b/tests/amdgpu/amdgpu_stress.c > index 5c5c88c5be985eb6..f919351e1f17d70b 100644 > --- a/tests/amdgpu/amdgpu_stress.c > +++ b/tests/amdgpu/amdgpu_stress.c > @@ -30,6 +30,7 @@ > #include <errno.h> > #include <unistd.h> > #include <stdlib.h> > +#include <inttypes.h> > > #include "drm.h" > #include "xf86drmMode.h" > @@ -175,7 +176,7 @@ int alloc_bo(uint32_t domain, uint64_t size) > > resources[num_buffers] = bo; > virtual[num_buffers] = addr; > - fprintf(stdout, "Allocated BO number %u at 0x%lx, domain 0x%x, size %lu\n", > + fprintf(stdout, "Allocated BO number %u at 0x%" PRIx64 ", domain 0x%x, size %" PRIu64 "\n", > num_buffers++, addr, domain, size); > return 0; > } > @@ -273,7 +274,7 @@ int submit_ib(uint32_t from, uint32_t to, uint64_t size, uint32_t count) > delta = stop.tv_nsec + stop.tv_sec * 1000000000UL; > delta -= start.tv_nsec + start.tv_sec * 1000000000UL; > > - fprintf(stdout, "Submitted %u IBs to copy from %u(%lx) to %u(%lx) %lu bytes took %lu usec\n", > + fprintf(stdout, "Submitted %u IBs to copy from %u(%" PRIx64 ") to %u(%" PRIx64 ") %" PRIu64 " bytes took %" PRIu64 " usec\n", > count, from, virtual[from], to, virtual[to], copied, delta / 1000); > return 0; > } > @@ -293,7 +294,7 @@ uint64_t parse_size(void) > char ext[2]; > > ext[0] = 0; > - if (sscanf(optarg, "%li%1[kmgKMG]", &size, ext) < 1) { > + if (sscanf(optarg, "%" PRIi64 "%1[kmgKMG]", &size, ext) < 1) { > fprintf(stderr, "Can't parse size arg: %s\n", optarg); > exit(EXIT_FAILURE); > } > @@ -375,7 +376,7 @@ int main(int argc, char **argv) > next_arg(argc, argv, "Missing buffer size"); > size = parse_size(); > if (size < getpagesize()) { > - fprintf(stderr, "Buffer size to small %lu\n", size); > + fprintf(stderr, "Buffer size to small %" PRIu64 "\n", size); > exit(EXIT_FAILURE); > } > r = alloc_bo(domain, size);
Hi Christian, On Fri, Jul 7, 2023 at 2:06 PM Christian König <ckoenig.leichtzumerken@gmail.com> wrote: > Am 06.07.23 um 10:36 schrieb Geert Uytterhoeven: > > On 32-bit: > > > > ../tests/amdgpu/amdgpu_stress.c: In function ‘alloc_bo’: > > ../tests/amdgpu/amdgpu_stress.c:178:49: warning: format ‘%lx’ expects argument of type ‘long unsigned int’, but argument 4 has type ‘uint64_t’ {aka ‘long long unsigned int’} [-Wformat=] > > fprintf(stdout, "Allocated BO number %u at 0x%lx, domain 0x%x, size %lu\n", > > ~~^ > > %llx > > num_buffers++, addr, domain, size); > > ~~~~ [...] > > Fix this by using the proper "PRI?64" format specifiers. > > > > Fixes: d77ccdf3ba6f5a39 ("amdgpu: add amdgpu_stress utility v2") > > Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be> > > Well generally good patch, but libdrm changes are now reviewed by merge > request and not on the mailing list any more. I heard such a rumor, too ;-) Unfortunately one year later, that process is still not documented in https://gitlab.freedesktop.org/mesa/drm/-/blob/main/CONTRIBUTING.rst which still instructs me (a casual drive-by developer) to just submit my patches to the mailing list... Thanks! Gr{oetje,eeting}s, Geert
Hi Christian, On Fri, Jul 7, 2023 at 9:36 PM Geert Uytterhoeven <geert@linux-m68k.org> wrote: > On Fri, Jul 7, 2023 at 2:06 PM Christian König > <ckoenig.leichtzumerken@gmail.com> wrote: > > Am 06.07.23 um 10:36 schrieb Geert Uytterhoeven: > > > On 32-bit: > > > > > > ../tests/amdgpu/amdgpu_stress.c: In function ‘alloc_bo’: > > > ../tests/amdgpu/amdgpu_stress.c:178:49: warning: format ‘%lx’ expects argument of type ‘long unsigned int’, but argument 4 has type ‘uint64_t’ {aka ‘long long unsigned int’} [-Wformat=] > > > fprintf(stdout, "Allocated BO number %u at 0x%lx, domain 0x%x, size %lu\n", > > > ~~^ > > > %llx > > > num_buffers++, addr, domain, size); > > > ~~~~ > > [...] > > > > Fix this by using the proper "PRI?64" format specifiers. > > > > > > Fixes: d77ccdf3ba6f5a39 ("amdgpu: add amdgpu_stress utility v2") > > > Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be> > > > > Well generally good patch, but libdrm changes are now reviewed by merge > > request and not on the mailing list any more. > > I heard such a rumor, too ;-) > > Unfortunately one year later, that process is still not documented in > https://gitlab.freedesktop.org/mesa/drm/-/blob/main/CONTRIBUTING.rst > which still instructs me (a casual drive-by developer) to just submit > my patches to the mailing list... So a few weeks ago I created gitlab PRs for all my pending libdrm patch series, and I rebased them regularly when needed. What needs to be done to get them merged? Thanks! Gr{oetje,eeting}s, Geert
Am 21.08.23 um 11:14 schrieb Geert Uytterhoeven: > Hi Christian, > > On Fri, Jul 7, 2023 at 9:36 PM Geert Uytterhoeven <geert@linux-m68k.org> wrote: >> On Fri, Jul 7, 2023 at 2:06 PM Christian König >> <ckoenig.leichtzumerken@gmail.com> wrote: >>> Am 06.07.23 um 10:36 schrieb Geert Uytterhoeven: >>>> On 32-bit: >>>> >>>> ../tests/amdgpu/amdgpu_stress.c: In function ‘alloc_bo’: >>>> ../tests/amdgpu/amdgpu_stress.c:178:49: warning: format ‘%lx’ expects argument of type ‘long unsigned int’, but argument 4 has type ‘uint64_t’ {aka ‘long long unsigned int’} [-Wformat=] >>>> fprintf(stdout, "Allocated BO number %u at 0x%lx, domain 0x%x, size %lu\n", >>>> ~~^ >>>> %llx >>>> num_buffers++, addr, domain, size); >>>> ~~~~ >> [...] >> >>>> Fix this by using the proper "PRI?64" format specifiers. >>>> >>>> Fixes: d77ccdf3ba6f5a39 ("amdgpu: add amdgpu_stress utility v2") >>>> Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be> >>> Well generally good patch, but libdrm changes are now reviewed by merge >>> request and not on the mailing list any more. >> I heard such a rumor, too ;-) >> >> Unfortunately one year later, that process is still not documented in >> https://gitlab.freedesktop.org/mesa/drm/-/blob/main/CONTRIBUTING.rst >> which still instructs me (a casual drive-by developer) to just submit >> my patches to the mailing list... > So a few weeks ago I created gitlab PRs for all my pending libdrm > patch series, and I rebased them regularly when needed. > What needs to be done to get them merged? You need to ping the userspace maintainers for this. Like Marek, Pierre-Eric etc.. Regards, Christian. > > Thanks! > > Gr{oetje,eeting}s, > > Geert >
Hi Christian, On Mon, Aug 21, 2023 at 11:34 AM Christian König <christian.koenig@amd.com> wrote: > Am 21.08.23 um 11:14 schrieb Geert Uytterhoeven: > > On Fri, Jul 7, 2023 at 9:36 PM Geert Uytterhoeven <geert@linux-m68k.org> wrote: > >> On Fri, Jul 7, 2023 at 2:06 PM Christian König > >> <ckoenig.leichtzumerken@gmail.com> wrote: > >>> Am 06.07.23 um 10:36 schrieb Geert Uytterhoeven: > >>>> On 32-bit: > >>>> > >>>> ../tests/amdgpu/amdgpu_stress.c: In function ‘alloc_bo’: > >>>> ../tests/amdgpu/amdgpu_stress.c:178:49: warning: format ‘%lx’ expects argument of type ‘long unsigned int’, but argument 4 has type ‘uint64_t’ {aka ‘long long unsigned int’} [-Wformat=] > >>>> fprintf(stdout, "Allocated BO number %u at 0x%lx, domain 0x%x, size %lu\n", > >>>> ~~^ > >>>> %llx > >>>> num_buffers++, addr, domain, size); > >>>> ~~~~ > >> [...] > >> > >>>> Fix this by using the proper "PRI?64" format specifiers. > >>>> > >>>> Fixes: d77ccdf3ba6f5a39 ("amdgpu: add amdgpu_stress utility v2") > >>>> Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be> > >>> Well generally good patch, but libdrm changes are now reviewed by merge > >>> request and not on the mailing list any more. > >> I heard such a rumor, too ;-) > >> > >> Unfortunately one year later, that process is still not documented in > >> https://gitlab.freedesktop.org/mesa/drm/-/blob/main/CONTRIBUTING.rst > >> which still instructs me (a casual drive-by developer) to just submit > >> my patches to the mailing list... > > So a few weeks ago I created gitlab PRs for all my pending libdrm > > patch series, and I rebased them regularly when needed. > > What needs to be done to get them merged? > > You need to ping the userspace maintainers for this. Like Marek, > Pierre-Eric etc.. Thanks, I assume (from "git shortlog") you mean Marek Olšák and Pierre-Eric Pelloux-Prayer? How do I find out the maintainers for non-amd parts? Looks like this thread is becoming a "what is missing in CONTRIBUTING.rst?" list ;-) Thanks again! Gr{oetje,eeting}s, Geert
Am 21.08.23 um 11:48 schrieb Geert Uytterhoeven: > Hi Christian, > > On Mon, Aug 21, 2023 at 11:34 AM Christian König > <christian.koenig@amd.com> wrote: >> Am 21.08.23 um 11:14 schrieb Geert Uytterhoeven: >>> On Fri, Jul 7, 2023 at 9:36 PM Geert Uytterhoeven <geert@linux-m68k.org> wrote: >>>> On Fri, Jul 7, 2023 at 2:06 PM Christian König >>>> <ckoenig.leichtzumerken@gmail.com> wrote: >>>>> Am 06.07.23 um 10:36 schrieb Geert Uytterhoeven: >>>>>> On 32-bit: >>>>>> >>>>>> ../tests/amdgpu/amdgpu_stress.c: In function ‘alloc_bo’: >>>>>> ../tests/amdgpu/amdgpu_stress.c:178:49: warning: format ‘%lx’ expects argument of type ‘long unsigned int’, but argument 4 has type ‘uint64_t’ {aka ‘long long unsigned int’} [-Wformat=] >>>>>> fprintf(stdout, "Allocated BO number %u at 0x%lx, domain 0x%x, size %lu\n", >>>>>> ~~^ >>>>>> %llx >>>>>> num_buffers++, addr, domain, size); >>>>>> ~~~~ >>>> [...] >>>> >>>>>> Fix this by using the proper "PRI?64" format specifiers. >>>>>> >>>>>> Fixes: d77ccdf3ba6f5a39 ("amdgpu: add amdgpu_stress utility v2") >>>>>> Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be> >>>>> Well generally good patch, but libdrm changes are now reviewed by merge >>>>> request and not on the mailing list any more. >>>> I heard such a rumor, too ;-) >>>> >>>> Unfortunately one year later, that process is still not documented in >>>> https://gitlab.freedesktop.org/mesa/drm/-/blob/main/CONTRIBUTING.rst >>>> which still instructs me (a casual drive-by developer) to just submit >>>> my patches to the mailing list... >>> So a few weeks ago I created gitlab PRs for all my pending libdrm >>> patch series, and I rebased them regularly when needed. >>> What needs to be done to get them merged? >> You need to ping the userspace maintainers for this. Like Marek, >> Pierre-Eric etc.. > Thanks, I assume (from "git shortlog") you mean Marek Olšák and > Pierre-Eric Pelloux-Prayer? Yes, of course. > How do I find out the maintainers for non-amd parts? That's a really good question, I don't have the slightest idea either. My approach getting libdrm patches upstream used to be asking somebody for review and then pushing them. But that was way before switching to merge requests. Since then I have at maximum merged a handful of patches. > > Looks like this thread is becoming a "what is missing in > CONTRIBUTING.rst?" list ;-) Indeed! Cheers, Christian. > > Thanks again! > > Gr{oetje,eeting}s, > > Geert >
diff --git a/tests/amdgpu/amdgpu_stress.c b/tests/amdgpu/amdgpu_stress.c index 5c5c88c5be985eb6..f919351e1f17d70b 100644 --- a/tests/amdgpu/amdgpu_stress.c +++ b/tests/amdgpu/amdgpu_stress.c @@ -30,6 +30,7 @@ #include <errno.h> #include <unistd.h> #include <stdlib.h> +#include <inttypes.h> #include "drm.h" #include "xf86drmMode.h" @@ -175,7 +176,7 @@ int alloc_bo(uint32_t domain, uint64_t size) resources[num_buffers] = bo; virtual[num_buffers] = addr; - fprintf(stdout, "Allocated BO number %u at 0x%lx, domain 0x%x, size %lu\n", + fprintf(stdout, "Allocated BO number %u at 0x%" PRIx64 ", domain 0x%x, size %" PRIu64 "\n", num_buffers++, addr, domain, size); return 0; } @@ -273,7 +274,7 @@ int submit_ib(uint32_t from, uint32_t to, uint64_t size, uint32_t count) delta = stop.tv_nsec + stop.tv_sec * 1000000000UL; delta -= start.tv_nsec + start.tv_sec * 1000000000UL; - fprintf(stdout, "Submitted %u IBs to copy from %u(%lx) to %u(%lx) %lu bytes took %lu usec\n", + fprintf(stdout, "Submitted %u IBs to copy from %u(%" PRIx64 ") to %u(%" PRIx64 ") %" PRIu64 " bytes took %" PRIu64 " usec\n", count, from, virtual[from], to, virtual[to], copied, delta / 1000); return 0; } @@ -293,7 +294,7 @@ uint64_t parse_size(void) char ext[2]; ext[0] = 0; - if (sscanf(optarg, "%li%1[kmgKMG]", &size, ext) < 1) { + if (sscanf(optarg, "%" PRIi64 "%1[kmgKMG]", &size, ext) < 1) { fprintf(stderr, "Can't parse size arg: %s\n", optarg); exit(EXIT_FAILURE); } @@ -375,7 +376,7 @@ int main(int argc, char **argv) next_arg(argc, argv, "Missing buffer size"); size = parse_size(); if (size < getpagesize()) { - fprintf(stderr, "Buffer size to small %lu\n", size); + fprintf(stderr, "Buffer size to small %" PRIu64 "\n", size); exit(EXIT_FAILURE); } r = alloc_bo(domain, size);
On 32-bit: ../tests/amdgpu/amdgpu_stress.c: In function ‘alloc_bo’: ../tests/amdgpu/amdgpu_stress.c:178:49: warning: format ‘%lx’ expects argument of type ‘long unsigned int’, but argument 4 has type ‘uint64_t’ {aka ‘long long unsigned int’} [-Wformat=] fprintf(stdout, "Allocated BO number %u at 0x%lx, domain 0x%x, size %lu\n", ~~^ %llx num_buffers++, addr, domain, size); ~~~~ ../tests/amdgpu/amdgpu_stress.c:178:72: warning: format ‘%lu’ expects argument of type ‘long unsigned int’, but argument 6 has type ‘uint64_t’ {aka ‘long long unsigned int’} [-Wformat=] fprintf(stdout, "Allocated BO number %u at 0x%lx, domain 0x%x, size %lu\n", ~~^ %llu num_buffers++, addr, domain, size); ~~~~ ../tests/amdgpu/amdgpu_stress.c: In function ‘submit_ib’: ../tests/amdgpu/amdgpu_stress.c:276:54: warning: format ‘%lx’ expects argument of type ‘long unsigned int’, but argument 5 has type ‘uint64_t’ {aka ‘long long unsigned int’} [-Wformat=] fprintf(stdout, "Submitted %u IBs to copy from %u(%lx) to %u(%lx) %lu bytes took %lu usec\n", ~~^ %llx count, from, virtual[from], to, virtual[to], copied, delta / 1000); ~~~~~~~~~~~~~ ../tests/amdgpu/amdgpu_stress.c:276:65: warning: format ‘%lx’ expects argument of type ‘long unsigned int’, but argument 7 has type ‘uint64_t’ {aka ‘long long unsigned int’} [-Wformat=] fprintf(stdout, "Submitted %u IBs to copy from %u(%lx) to %u(%lx) %lu bytes took %lu usec\n", ~~^ %llx count, from, virtual[from], to, virtual[to], copied, delta / 1000); ~~~~~~~~~~~ ../tests/amdgpu/amdgpu_stress.c:276:70: warning: format ‘%lu’ expects argument of type ‘long unsigned int’, but argument 8 has type ‘uint64_t’ {aka ‘long long unsigned int’} [-Wformat=] fprintf(stdout, "Submitted %u IBs to copy from %u(%lx) to %u(%lx) %lu bytes took %lu usec\n", ~~^ %llu count, from, virtual[from], to, virtual[to], copied, delta / 1000); ~~~~~~ ../tests/amdgpu/amdgpu_stress.c:276:85: warning: format ‘%lu’ expects argument of type ‘long unsigned int’, but argument 9 has type ‘uint64_t’ {aka ‘long long unsigned int’} [-Wformat=] fprintf(stdout, "Submitted %u IBs to copy from %u(%lx) to %u(%lx) %lu bytes took %lu usec\n", ~~^ %llu count, from, virtual[from], to, virtual[to], copied, delta / 1000); ~~~~~~~~~~~~ ../tests/amdgpu/amdgpu_stress.c: In function ‘parse_size’: ../tests/amdgpu/amdgpu_stress.c:296:24: warning: format ‘%li’ expects argument of type ‘long int *’, but argument 3 has type ‘uint64_t *’ {aka ‘long long unsigned int *’} [-Wformat=] if (sscanf(optarg, "%li%1[kmgKMG]", &size, ext) < 1) { ~~^ ~~~~~ %lli ../tests/amdgpu/amdgpu_stress.c: In function ‘main’: ../tests/amdgpu/amdgpu_stress.c:378:45: warning: format ‘%lu’ expects argument of type ‘long unsigned int’, but argument 3 has type ‘uint64_t’ {aka ‘long long unsigned int’} [-Wformat=] fprintf(stderr, "Buffer size to small %lu\n", size); ~~^ ~~~~ %llu Fix this by using the proper "PRI?64" format specifiers. Fixes: d77ccdf3ba6f5a39 ("amdgpu: add amdgpu_stress utility v2") Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be> --- On Linux/amd64, the format strings in the resulting binary are unchanged. v2: - Use PRI?64 to unbreak 64-bit build. --- tests/amdgpu/amdgpu_stress.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-)