On 05/01/2012 03:53 PM, Andrew Morton wrote: > On Tue, 1 May 2012 13:50:55 -0400 > Doug Ledford wrote: > >> Add the mq_perf_tests tool I used when creating my mq performance patch. >> Also add a local .gitignore to keep the binaries from showing up in >> git status output. >> > > hm, this code sends checkpatch berzerk. I do think that selftests code > should match regular kernel coding - after all, kernel developers are > the ones who will be reading and modifying the code. Fair enough. >> diff --git a/tools/testing/selftests/mqueue/mq_perf_tests.c b/tools/testing/selftests/mqueue/mq_perf_tests.c > > hm, I didn't have . On RH that's the popt-devel RPM. On this > Ubuntu(ish) machine it's libpopt-dev. Yeah, I didn't want to throw any sort of high level requires in there, like rpm dependencies or apt dependencies. I could get the rpm stuff for Fedora right, but I would have just screwed up the rest. So a user just has to manually make sure they have the right libraries to run this. > On an x86_64 build I get these: > > mq_open_tests.c: In function 'main': > mq_open_tests.c:295: warning: format '%d' expects type 'int', but argument 2 has type 'rlim_t' > mq_open_tests.c:296: warning: format '%d' expects type 'int', but argument 2 has type 'rlim_t' > mq_open_tests.c:311: warning: format '%d' expects type 'int', but argument 2 has type 'rlim_t' > mq_open_tests.c:312: warning: format '%d' expects type 'int', but argument 2 has type 'rlim_t' > gcc -O2 -lrt -lpthread -lpopt -o mq_perf_tests mq_perf_tests.c > mq_perf_tests.c: In function 'open_queue': > mq_perf_tests.c:299: warning: format '%d' expects type 'int', but argument 2 has type 'long int' > mq_perf_tests.c:300: warning: format '%d' expects type 'int', but argument 2 has type 'long int' > mq_perf_tests.c:301: warning: format '%d' expects type 'int', but argument 2 has type 'long int' > mq_perf_tests.c: In function 'perf_test_thread': > mq_perf_tests.c:441: warning: format '%d' expects type 'int', but argument 2 has type 'long int' > mq_perf_tests.c:456: warning: format '%d' expects type 'int', but argument 2 has type '__time_t' > mq_perf_tests.c:456: warning: format '%d' expects type 'int', but argument 3 has type 'long int' > mq_perf_tests.c:459: warning: format '%d' expects type 'int', but argument 2 has type 'long long unsigned int' > mq_perf_tests.c:461: warning: format '%d' expects type 'int', but argument 2 has type '__time_t' > mq_perf_tests.c:461: warning: format '%d' expects type 'int', but argument 3 has type 'long int' > mq_perf_tests.c:464: warning: format '%d' expects type 'int', but argument 2 has type 'long long unsigned int' > mq_perf_tests.c:468: warning: format not a string literal and no format arguments > mq_perf_tests.c:495: warning: format '%d' expects type 'int', but argument 2 has type '__time_t' > mq_perf_tests.c:495: warning: format '%d' expects type 'int', but argument 3 has type 'long int' > mq_perf_tests.c:498: warning: format '%d' expects type 'int', but argument 2 has type 'long long unsigned int' > mq_perf_tests.c:500: warning: format '%d' expects type 'int', but argument 2 has type '__time_t' > mq_perf_tests.c:500: warning: format '%d' expects type 'int', but argument 3 has type 'long int' > mq_perf_tests.c:503: warning: format '%d' expects type 'int', but argument 2 has type 'long long unsigned int' > mq_perf_tests.c: In function 'main': > mq_perf_tests.c:651: warning: format '%d' expects type 'int', but argument 2 has type 'rlim_t' > mq_perf_tests.c:652: warning: format '%d' expects type 'int', but argument 2 has type 'rlim_t' > mq_perf_tests.c:666: warning: format '%d' expects type 'int', but argument 2 has type 'rlim_t' > mq_perf_tests.c:668: warning: format '%d' expects type 'int', but argument 2 has type 'rlim_t' > > I assume part of it is this: > > /usr/include/bits/resource.h:typedef __rlim64_t rlim_t; > > But I didn't look into the others. I can do so? I don't get any of that sort of noise, it all compiles cleanly here. -- Doug Ledford GPG KeyID: 0E572FDD http://people.redhat.com/dledford