[PATCH i-g-t 1/2] lib/igt_drm_fdinfo: Use longest match first
Kamil Konieczny
kamil.konieczny at linux.intel.com
Thu Feb 1 12:43:21 UTC 2024
Hi Lucas,
On 2024-01-31 at 16:46:24 -0800, Lucas De Marchi wrote:
> Instead of checking twice the match, just use longest match first.
Nice catch, LGTM.
Reviewed-by: Kamil Konieczny <kamil.konieczny at linux.intel.com>
>
> Signed-off-by: Lucas De Marchi <lucas.demarchi at intel.com>
> ---
> lib/igt_drm_fdinfo.c | 19 +++++++++----------
> 1 file changed, 9 insertions(+), 10 deletions(-)
>
> diff --git a/lib/igt_drm_fdinfo.c b/lib/igt_drm_fdinfo.c
> index 222ccbfb1..5c0ccf624 100644
> --- a/lib/igt_drm_fdinfo.c
> +++ b/lib/igt_drm_fdinfo.c
> @@ -239,8 +239,15 @@ __igt_parse_drm_fdinfo(int dir, const char *fd, struct drm_client_fdinfo *info,
> strlen("drm-client-id")))) {
> info->id = atol(v);
> good++;
> - } else if (!strncmp(l, "drm-engine-", 11) &&
> - strncmp(l, "drm-engine-capacity-", 20)) {
> + } else if (!strncmp(l, "drm-engine-capacity-", 20)) {
One more thing to eventually fix is removing "20" which is exact
len of string, with something like
bool str_begins(char *src, char *pattern)
One source of errors is counting letters in strings or changing
string itself without changing corresponding len. This can be
done in separate patch.
Regards,
Kamil
> + idx = parse_engine(l, info,
> + strlen("drm-engine-capacity-"),
> + name_map, map_entries, &val);
> + if (idx >= 0) {
> + info->capacity[idx] = val;
> + num_capacity++;
> + }
> + } else if (!strncmp(l, "drm-engine-", 11)) {
> idx = parse_engine(l, info, strlen("drm-engine-"),
> name_map, map_entries, &val);
> if (idx >= 0) {
> @@ -251,14 +258,6 @@ __igt_parse_drm_fdinfo(int dir, const char *fd, struct drm_client_fdinfo *info,
> if (idx > info->last_engine_index)
> info->last_engine_index = idx;
> }
> - } else if (!strncmp(l, "drm-engine-capacity-", 20)) {
> - idx = parse_engine(l, info,
> - strlen("drm-engine-capacity-"),
> - name_map, map_entries, &val);
> - if (idx >= 0) {
> - info->capacity[idx] = val;
> - num_capacity++;
> - }
> } else if (!strncmp(l, "drm-total-", 10)) {
> idx = parse_region(l, info, strlen("drm-total-"),
> region_map, region_entries, &val);
> --
> 2.43.0
>
More information about the igt-dev
mailing list