Re: [Patch 4/4] tools/selftests: add mq_perf_tests

From: Doug Ledford
Date: Tue May 01 2012 - 16:14:13 EST


On 05/01/2012 03:53 PM, Andrew Morton wrote:
> On Tue, 1 May 2012 13:50:55 -0400
> Doug Ledford <dledford@xxxxxxxxxx> 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 <popt.h>. 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 <dledford@xxxxxxxxxx>
GPG KeyID: 0E572FDD
http://people.redhat.com/dledford


Attachment: signature.asc
Description: OpenPGP digital signature