tools/power/x86/intel-speed-select: Error on CPU count exceed in request
There is a limit on number of CPUs in one request. This is set to 256. Currently tool silently ignores request for count over 256. Give an error message to indicate this. Signed-off-by: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
This commit is contained in:
parent
06bbebdb6d
commit
e67b6ed2bb
@ -2622,10 +2622,11 @@ static struct process_cmd_struct isst_cmds[] = {
|
|||||||
*/
|
*/
|
||||||
void parse_cpu_command(char *optarg)
|
void parse_cpu_command(char *optarg)
|
||||||
{
|
{
|
||||||
unsigned int start, end;
|
unsigned int start, end, invalid_count;
|
||||||
char *next;
|
char *next;
|
||||||
|
|
||||||
next = optarg;
|
next = optarg;
|
||||||
|
invalid_count = 0;
|
||||||
|
|
||||||
while (next && *next) {
|
while (next && *next) {
|
||||||
if (*next == '-') /* no negative cpu numbers */
|
if (*next == '-') /* no negative cpu numbers */
|
||||||
@ -2635,6 +2636,8 @@ void parse_cpu_command(char *optarg)
|
|||||||
|
|
||||||
if (max_target_cpus < MAX_CPUS_IN_ONE_REQ)
|
if (max_target_cpus < MAX_CPUS_IN_ONE_REQ)
|
||||||
target_cpus[max_target_cpus++] = start;
|
target_cpus[max_target_cpus++] = start;
|
||||||
|
else
|
||||||
|
invalid_count = 1;
|
||||||
|
|
||||||
if (*next == '\0')
|
if (*next == '\0')
|
||||||
break;
|
break;
|
||||||
@ -2661,6 +2664,8 @@ void parse_cpu_command(char *optarg)
|
|||||||
while (++start <= end) {
|
while (++start <= end) {
|
||||||
if (max_target_cpus < MAX_CPUS_IN_ONE_REQ)
|
if (max_target_cpus < MAX_CPUS_IN_ONE_REQ)
|
||||||
target_cpus[max_target_cpus++] = start;
|
target_cpus[max_target_cpus++] = start;
|
||||||
|
else
|
||||||
|
invalid_count = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (*next == ',')
|
if (*next == ',')
|
||||||
@ -2669,6 +2674,13 @@ void parse_cpu_command(char *optarg)
|
|||||||
goto error;
|
goto error;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (invalid_count) {
|
||||||
|
isst_ctdp_display_information_start(outf);
|
||||||
|
isst_display_error_info_message(1, "Too many CPUs in one request: max is", 1, MAX_CPUS_IN_ONE_REQ - 1);
|
||||||
|
isst_ctdp_display_information_end(outf);
|
||||||
|
exit(-1);
|
||||||
|
}
|
||||||
|
|
||||||
#ifdef DEBUG
|
#ifdef DEBUG
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
|
Loading…
Reference in New Issue
Block a user