Re: [RFC] [rt-tests] change to cyclictest behavior

From: Clark Williams
Date: Wed Jan 06 2010 - 17:05:10 EST


On Wed, 06 Jan 2010 22:39:09 +0100
Carsten Emde <Carsten.Emde@xxxxxxxxx> wrote:
> I know that there are quite a few people out there who get furious, if
> someone breaks backward compatibility - especially in things that are
> used for automatic testing. Cyclictest is such a thing.
>
> In addition, I would propose to consider not only affinity but also the
> number of threads. If, for example, someone specifies -a -t5 on a
> four-way machine, then it may not make sense to use the same priority
> and the same interval on all threads. If any, the new feature would only
> make sense in cases where both the -a and the -t option do not have an
> argument so the number of threads matches the number of CPUs and every
> thread runs on its own CPU. Another pitfall is hyperthreading in which
> case it may be desired to have as many threads at the same priority as
> real CPUs rather than as available hyperthreads.
>
> Here is my proposal:
> Do not change the meaning of existing options. Introduce a new option
> that is mutual exclusive with the -a, the -t and the -d option. This new
> option does the same as -a and -t and -d0 and sets the same priority to
> all threads. How about that?
>

Ugh, I truly *hate* adding options. Do you know that cyclictest is
halfway to having as many options as 'ls'? That being said, I had
forgotten that you can provide a list of cpus to -a (as well as -t) so
my quick hack really isn't as safe as I first thought it would be.

How about if we create the -S/--smp option that takes no arguments and
causes -a, -t and -d to be ignored (with a warning). This option would
create one thread per cpu, each thread pinned to it's corresponding
cpu, all with the same sampling interval (i.e. -d0) and the same
priority?

Clark

Attachment: signature.asc
Description: PGP signature