On Tue, Mar 14, 2017 at 12:43:48PM -0700, Vedang Patel wrote: > it is recommended that clock_nanosleep should be used for real-time extreme nitpick: Captialize first word in a sentence. > wherever available. So, make sure that cyclictest runs clock_nanosleep > by default. Added an option to run POSIX timers. Removing the '-n' > option because it is redundant now. > > Signed-off-by: Vedang Patel <vedang.patel@xxxxxxxxx> > --- > src/cyclictest/cyclictest.c | 17 +++++++++-------- > 1 file changed, 9 insertions(+), 8 deletions(-) > > diff --git a/src/cyclictest/cyclictest.c b/src/cyclictest/cyclictest.c > index 3f1bef1ffca9..cf82f8e1deaa 100644 > --- a/src/cyclictest/cyclictest.c > +++ b/src/cyclictest/cyclictest.c > @@ -1321,7 +1321,6 @@ static void display_help(int error) > "-m --mlockall lock current and future memory allocations\n" > "-M --refresh_on_max delay updating the screen until a new max\n" > " latency is hit. Userful for low bandwidth.\n" > - "-n --nanosleep use clock_nanosleep\n" > " --notrace suppress tracing\n" > "-N --nsecs print results in ns instead of us (default us)\n" > "-o RED --oscope=RED oscilloscope mode, reduce verbose output by RED\n" > @@ -1364,7 +1363,8 @@ static void display_help(int error) > " format: n:c:v n=tasknum c=count v=value in us\n" > "-w --wakeup task wakeup tracing (used with -b)\n" > "-W --wakeuprt rt task wakeup tracing (used with -b)\n" > - " --dbg_cyclictest print info useful for debugging cyclictest\n", > + " --dbg_cyclictest print info useful for debugging cyclictest\n" > + "-x --posix_timers use POSIX timers\n", Since we are now removing all references to clock_nanosleep, perhaps add note here indicating that nanosleep is the default, i.e. something like "use POSIX timers instead of clock_nanosleep" > tracers > ); > if (error) > @@ -1372,7 +1372,7 @@ static void display_help(int error) > exit(EXIT_SUCCESS); > } > > -static int use_nanosleep; > +static int use_nanosleep = MODE_CLOCK_NANOSLEEP; /* use clock_nanosleep by default. */ Not sure if you really need the trailing comment, but I'll leave that up to John (I'd drop it) > static int timermode = TIMER_ABSTIME; > static int use_system; > static int priority; > @@ -1493,6 +1493,7 @@ enum option_values { > OPT_TRIGGER_NODES, OPT_UNBUFFERED, OPT_NUMA, OPT_VERBOSE, OPT_WAKEUP, > OPT_WAKEUPRT, OPT_DBGCYCLIC, OPT_POLICY, OPT_HELP, OPT_NUMOPTS, > OPT_ALIGNED, OPT_SECALIGNED, OPT_LAPTOP, OPT_SMI, OPT_TRACEMARK, > + OPT_POSIX_TIMERS, > }; > > /* Process commandline options */ > @@ -1530,7 +1531,6 @@ static void process_options (int argc, char *argv[], int max_cpus) > {"loops", required_argument, NULL, OPT_LOOPS }, > {"mlockall", no_argument, NULL, OPT_MLOCKALL }, > {"refresh_on_max", no_argument, NULL, OPT_REFRESH }, > - {"nanosleep", no_argument, NULL, OPT_NANOSLEEP }, > {"nsecs", no_argument, NULL, OPT_NSECS }, > {"oscope", required_argument, NULL, OPT_OSCOPE }, > {"traceopt", required_argument, NULL, OPT_TRACEOPT }, > @@ -1557,9 +1557,10 @@ static void process_options (int argc, char *argv[], int max_cpus) > {"dbg_cyclictest", no_argument, NULL, OPT_DBGCYCLIC }, > {"policy", required_argument, NULL, OPT_POLICY }, > {"help", no_argument, NULL, OPT_HELP }, > + {"posix_timers", no_argument, NULL, OPT_POSIX_TIMERS }, > {NULL, 0, NULL, 0} > }; > - int c = getopt_long(argc, argv, "a::A::b:Bc:Cd:D:Efh:H:i:Il:MnNo:O:p:PmqrRsSt::uUvD:wWT:", > + int c = getopt_long(argc, argv, "a::A::b:Bc:Cd:D:Efh:H:i:Il:MNo:O:p:PmqrRsSt::uUvD:wWT:x", > long_options, &option_index); > if (c == -1) > break; > @@ -1651,9 +1652,6 @@ static void process_options (int argc, char *argv[], int max_cpus) > case 'M': > case OPT_REFRESH: > refresh_on_max = 1; break; > - case 'n': > - case OPT_NANOSLEEP: > - use_nanosleep = MODE_CLOCK_NANOSLEEP; break; > case 'N': > case OPT_NSECS: > use_nsecs = 1; break; > @@ -1760,6 +1758,9 @@ static void process_options (int argc, char *argv[], int max_cpus) > case 'W': > case OPT_WAKEUPRT: > tracetype = WAKEUPRT; break; > + case 'x': > + case OPT_POSIX_TIMERS: > + use_nanosleep = MODE_CYCLIC; break; > case '?': > case OPT_HELP: > display_help(0); break; As a side-observation that does not have anything to do with your patch, it seems like there's a lovely mix of spaces and TABS in this file (i.e. starting a line with a few spaces, then TABs and then possibly more spaces for final alignment). Could be my mailclient pulling my foot though, I just found it a bit strange. > -- > 2.7.3 > A part form my minor nitpicks, nice change! -- Henrik Austad
Attachment:
signature.asc
Description: PGP signature