@@ -1035,7 +1035,9 @@ static void process_options(int argc, char *argv[], int max_cpus)
} else if (optind < argc &&
(atoi(argv[optind]) ||
argv[optind][0] == '0' ||
- argv[optind][0] == '!')) {
+ argv[optind][0] == '!' ||
+ argv[optind][0] == '+' ||
+ argv[optind][0] == 'a')) {
parse_cpumask(argv[optind], max_cpus, &affinity_mask);
setaffinity = AFFINITY_SPECIFIED;
} else {
@@ -850,7 +850,7 @@ int main(int argc, char *argv[])
cpu_set = numa_parse_cpustring_all(g.cpu_list);
if (!cpu_set)
- fatal("oslat: parse_cpumask failed.\n");
+ fatal("oslat: numa_parse_cpustring_all failed.\n");
n_cores = numa_bitmask_weight(cpu_set);
TEST(threads = calloc(1, n_cores * sizeof(threads[0])));
@@ -261,7 +261,9 @@ static void process_options(int argc, char *argv[], unsigned int max_cpus)
} else if (optind < argc &&
(atoi(argv[optind]) ||
argv[optind][0] == '0' ||
- argv[optind][0] == '!')) {
+ argv[optind][0] == '!' ||
+ argv[optind][0] == '+' ||
+ argv[optind][0] == 'a')) {
parse_cpumask(argv[optind], max_cpus, &affinity_mask);
setaffinity = AFFINITY_SPECIFIED;
} else {
Make sure that -a all and -a '+' are passed to parse_cpumask(). Currently this doesn't work correctly if there is a space after -a and the string. While we are at it, fix the message in oslat which calls numa_parse_cpustring_all directly to say that. Signed-off-by: John Kacur <jkacur@redhat.com> --- src/cyclictest/cyclictest.c | 4 +++- src/oslat/oslat.c | 2 +- src/signaltest/signaltest.c | 4 +++- 3 files changed, 7 insertions(+), 3 deletions(-)