[Intel-gfx] [PATCH i-g-t] intel_l3_parity: More helpful output in case of errors

Daniel Vetter daniel at ffwll.ch
Tue Sep 5 16:16:23 UTC 2017


On Tue, Sep 05, 2017 at 03:39:49PM +0300, Petri Latvala wrote:
> When no action is specified on the command line, print the usage help
> text and exit with failure instead of SIGABRT. Fix some typos on the
> usage text.
> 
> Keep the abort() call in places where they can only be reached by
> expanding the tool and forgetting to handle new parameters, with an
> error message printed.
> 
> CC: Ben Widawsky <benjamin.widawsky at intel.com>
> Signed-off-by: Petri Latvala <petri.latvala at intel.com>
> ---
>  tools/intel_l3_parity.c | 12 +++++++++---
>  1 file changed, 9 insertions(+), 3 deletions(-)
> 
> diff --git a/tools/intel_l3_parity.c b/tools/intel_l3_parity.c
> index eb00c50..1a4fae5 100644
> --- a/tools/intel_l3_parity.c
> +++ b/tools/intel_l3_parity.c
> @@ -172,9 +172,9 @@ static void usage(const char *name)
>  		"  -l, --list				List the current L3 logs\n"
>  		"  -a, --clear-all			Clear all disabled rows\n"
>  		"  -e, --enable				Enable row, bank, subbank (undo -d)\n"
> -		"  -d, --disable=<row,bank,subbank>	Disable row, bank, subbank (inline arguments are deprecated. Please use -r, -b, -s instead\n"
> -		"  -i, --inject				[HSW only] Cause hardware to inject a row errors\n"
> -		"  -u, --uninject			[HSW only] Turn off hardware error injectection (undo -i)\n"
> +		"  -d, --disable=<row,bank,subbank>	Disable row, bank, subbank (inline arguments are deprecated. Please use -r, -b, -s instead)\n"
> +		"  -i, --inject				[HSW only] Cause hardware to inject a row error\n"
> +		"  -u, --uninject			[HSW only] Turn off hardware error injection (undo -i)\n"
>  		"  -L, --listen				Listen for uevent errors\n",
>  		name);
>  }
> @@ -301,6 +301,7 @@ int main(int argc, char *argv[])
>  				action = c;
>  				break;
>  			default:
> +				fprintf(stderr, "Internal error: Unhandled flag %c\n", c);
>  				abort();
>  		}
>  	}
> @@ -374,7 +375,12 @@ int main(int argc, char *argv[])
>  				break;
>  			case 'L':
>  				break;
> +			case '0':
> +				/* No action given */
> +				usage(argv[0]);
> +				exit(EXIT_FAILURE);

Won't this print usage once per slice? Or am I misreading how the patch
applies ...
-Daniel

>  			default:
> +				fprintf(stderr, "Internal error: Unhandled action %d\n", action);
>  				abort();
>  		}
>  	}
> -- 
> 2.9.3
> 
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/intel-gfx

-- 
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch


More information about the Intel-gfx mailing list