From: Matthew Brost <matthew.brost@intel.com>
To: Miaoqian Lin <linmq006@gmail.com>
Cc: Andi Shyti <andi.shyti@intel.com>,
David Airlie <airlied@linux.ie>,
Lucas De Marchi <lucas.demarchi@intel.com>,
intel-gfx@lists.freedesktop.org, linux-kernel@vger.kernel.org,
Chris Wilson <chris@chris-wilson.co.uk>,
dri-devel@lists.freedesktop.org
Subject: Re: [Intel-gfx] [PATCH] drm/i915/selftests: Fix NULL vs IS_ERR checking for kernel_context
Date: Wed, 12 Jan 2022 09:53:38 -0800 [thread overview]
Message-ID: <20220112175338.GA12463@jons-linux-dev-box> (raw)
In-Reply-To: <20211222075832.1732-1-linmq006@gmail.com>
On Wed, Dec 22, 2021 at 07:58:29AM +0000, Miaoqian Lin wrote:
> Since i915_gem_create_context() function return error pointers,
> the kernel_context() function does not return null, It returns error
> pointers too. Using IS_ERR() to check the return value to fix this.
>
Just a nit, err is initialized to -ENOMEM in a bunch of these tests
which isn't needed anymore. If you want to clean that up too, feel free.
With that:
Reviewed-by: Matthew Brost <matthew.brost@intel.com>
> Signed-off-by: Miaoqian Lin <linmq006@gmail.com>
> ---
> drivers/gpu/drm/i915/gt/selftest_execlists.c | 41 ++++++++++++++------
> 1 file changed, 29 insertions(+), 12 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/gt/selftest_execlists.c b/drivers/gpu/drm/i915/gt/selftest_execlists.c
> index b367ecfa42de..eacfe920afed 100644
> --- a/drivers/gpu/drm/i915/gt/selftest_execlists.c
> +++ b/drivers/gpu/drm/i915/gt/selftest_execlists.c
> @@ -1540,13 +1540,16 @@ static int live_busywait_preempt(void *arg)
> */
>
> ctx_hi = kernel_context(gt->i915, NULL);
> - if (!ctx_hi)
> - return -ENOMEM;
> + if (IS_ERR(ctx_hi))
> + return IS_ERR(ctx_hi);
> +
> ctx_hi->sched.priority = I915_CONTEXT_MAX_USER_PRIORITY;
>
> ctx_lo = kernel_context(gt->i915, NULL);
> - if (!ctx_lo)
> + if (IS_ERR(ctx_lo)) {
> + err = PTR_ERR(ctx_lo);
> goto err_ctx_hi;
> + }
> ctx_lo->sched.priority = I915_CONTEXT_MIN_USER_PRIORITY;
>
> obj = i915_gem_object_create_internal(gt->i915, PAGE_SIZE);
> @@ -1742,13 +1745,17 @@ static int live_preempt(void *arg)
> goto err_spin_hi;
>
> ctx_hi = kernel_context(gt->i915, NULL);
> - if (!ctx_hi)
> + if (IS_ERR(ctx_hi)) {
> + err = PTR_ERR(ctx_hi);
> goto err_spin_lo;
> + }
> ctx_hi->sched.priority = I915_CONTEXT_MAX_USER_PRIORITY;
>
> ctx_lo = kernel_context(gt->i915, NULL);
> - if (!ctx_lo)
> + if (IS_ERR(ctx_lo)) {
> + err = PTR_ERR(ctx_lo);
> goto err_ctx_hi;
> + }
> ctx_lo->sched.priority = I915_CONTEXT_MIN_USER_PRIORITY;
>
> for_each_engine(engine, gt, id) {
> @@ -1834,12 +1841,16 @@ static int live_late_preempt(void *arg)
> goto err_spin_hi;
>
> ctx_hi = kernel_context(gt->i915, NULL);
> - if (!ctx_hi)
> + if (IS_ERR(ctx_hi)) {
> + err = PTR_ERR(ctx_hi);
> goto err_spin_lo;
> + }
>
> ctx_lo = kernel_context(gt->i915, NULL);
> - if (!ctx_lo)
> + if (IS_ERR(ctx_lo)) {
> + err = PTR_ERR(ctx_lo);
> goto err_ctx_hi;
> + }
>
> /* Make sure ctx_lo stays before ctx_hi until we trigger preemption. */
> ctx_lo->sched.priority = 1;
> @@ -1928,8 +1939,8 @@ struct preempt_client {
> static int preempt_client_init(struct intel_gt *gt, struct preempt_client *c)
> {
> c->ctx = kernel_context(gt->i915, NULL);
> - if (!c->ctx)
> - return -ENOMEM;
> + if (IS_ERR(c->ctx))
> + return PTR_ERR(c->ctx);
>
> if (igt_spinner_init(&c->spin, gt))
> goto err_ctx;
> @@ -3385,13 +3396,17 @@ static int live_preempt_timeout(void *arg)
> return -ENOMEM;
>
> ctx_hi = kernel_context(gt->i915, NULL);
> - if (!ctx_hi)
> + if (IS_ERR(ctx_hi)) {
> + err = PTR_ERR(ctx_hi);
> goto err_spin_lo;
> + }
> ctx_hi->sched.priority = I915_CONTEXT_MAX_USER_PRIORITY;
>
> ctx_lo = kernel_context(gt->i915, NULL);
> - if (!ctx_lo)
> + if (IS_ERR(ctx_lo)) {
> + err = PTR_ERR(ctx_lo);
> goto err_ctx_hi;
> + }
> ctx_lo->sched.priority = I915_CONTEXT_MIN_USER_PRIORITY;
>
> for_each_engine(engine, gt, id) {
> @@ -3683,8 +3698,10 @@ static int live_preempt_smoke(void *arg)
>
> for (n = 0; n < smoke.ncontext; n++) {
> smoke.contexts[n] = kernel_context(smoke.gt->i915, NULL);
> - if (!smoke.contexts[n])
> + if (IS_ERR(smoke.contexts[n])) {
> + err = PTR_ERR(smoke.contexts[n]);
> goto err_ctx;
> + }
> }
>
> for (n = 0; n < ARRAY_SIZE(phase); n++) {
> --
> 2.17.1
>
WARNING: multiple messages have this Message-ID (diff)
From: Matthew Brost <matthew.brost@intel.com>
To: Miaoqian Lin <linmq006@gmail.com>
Cc: Andi Shyti <andi.shyti@intel.com>,
Jason Ekstrand <jason@jlekstrand.net>,
David Airlie <airlied@linux.ie>,
Lucas De Marchi <lucas.demarchi@intel.com>,
intel-gfx@lists.freedesktop.org, linux-kernel@vger.kernel.org,
Chris Wilson <chris@chris-wilson.co.uk>,
Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>,
dri-devel@lists.freedesktop.org,
Rodrigo Vivi <rodrigo.vivi@intel.com>
Subject: Re: [PATCH] drm/i915/selftests: Fix NULL vs IS_ERR checking for kernel_context
Date: Wed, 12 Jan 2022 09:53:38 -0800 [thread overview]
Message-ID: <20220112175338.GA12463@jons-linux-dev-box> (raw)
In-Reply-To: <20211222075832.1732-1-linmq006@gmail.com>
On Wed, Dec 22, 2021 at 07:58:29AM +0000, Miaoqian Lin wrote:
> Since i915_gem_create_context() function return error pointers,
> the kernel_context() function does not return null, It returns error
> pointers too. Using IS_ERR() to check the return value to fix this.
>
Just a nit, err is initialized to -ENOMEM in a bunch of these tests
which isn't needed anymore. If you want to clean that up too, feel free.
With that:
Reviewed-by: Matthew Brost <matthew.brost@intel.com>
> Signed-off-by: Miaoqian Lin <linmq006@gmail.com>
> ---
> drivers/gpu/drm/i915/gt/selftest_execlists.c | 41 ++++++++++++++------
> 1 file changed, 29 insertions(+), 12 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/gt/selftest_execlists.c b/drivers/gpu/drm/i915/gt/selftest_execlists.c
> index b367ecfa42de..eacfe920afed 100644
> --- a/drivers/gpu/drm/i915/gt/selftest_execlists.c
> +++ b/drivers/gpu/drm/i915/gt/selftest_execlists.c
> @@ -1540,13 +1540,16 @@ static int live_busywait_preempt(void *arg)
> */
>
> ctx_hi = kernel_context(gt->i915, NULL);
> - if (!ctx_hi)
> - return -ENOMEM;
> + if (IS_ERR(ctx_hi))
> + return IS_ERR(ctx_hi);
> +
> ctx_hi->sched.priority = I915_CONTEXT_MAX_USER_PRIORITY;
>
> ctx_lo = kernel_context(gt->i915, NULL);
> - if (!ctx_lo)
> + if (IS_ERR(ctx_lo)) {
> + err = PTR_ERR(ctx_lo);
> goto err_ctx_hi;
> + }
> ctx_lo->sched.priority = I915_CONTEXT_MIN_USER_PRIORITY;
>
> obj = i915_gem_object_create_internal(gt->i915, PAGE_SIZE);
> @@ -1742,13 +1745,17 @@ static int live_preempt(void *arg)
> goto err_spin_hi;
>
> ctx_hi = kernel_context(gt->i915, NULL);
> - if (!ctx_hi)
> + if (IS_ERR(ctx_hi)) {
> + err = PTR_ERR(ctx_hi);
> goto err_spin_lo;
> + }
> ctx_hi->sched.priority = I915_CONTEXT_MAX_USER_PRIORITY;
>
> ctx_lo = kernel_context(gt->i915, NULL);
> - if (!ctx_lo)
> + if (IS_ERR(ctx_lo)) {
> + err = PTR_ERR(ctx_lo);
> goto err_ctx_hi;
> + }
> ctx_lo->sched.priority = I915_CONTEXT_MIN_USER_PRIORITY;
>
> for_each_engine(engine, gt, id) {
> @@ -1834,12 +1841,16 @@ static int live_late_preempt(void *arg)
> goto err_spin_hi;
>
> ctx_hi = kernel_context(gt->i915, NULL);
> - if (!ctx_hi)
> + if (IS_ERR(ctx_hi)) {
> + err = PTR_ERR(ctx_hi);
> goto err_spin_lo;
> + }
>
> ctx_lo = kernel_context(gt->i915, NULL);
> - if (!ctx_lo)
> + if (IS_ERR(ctx_lo)) {
> + err = PTR_ERR(ctx_lo);
> goto err_ctx_hi;
> + }
>
> /* Make sure ctx_lo stays before ctx_hi until we trigger preemption. */
> ctx_lo->sched.priority = 1;
> @@ -1928,8 +1939,8 @@ struct preempt_client {
> static int preempt_client_init(struct intel_gt *gt, struct preempt_client *c)
> {
> c->ctx = kernel_context(gt->i915, NULL);
> - if (!c->ctx)
> - return -ENOMEM;
> + if (IS_ERR(c->ctx))
> + return PTR_ERR(c->ctx);
>
> if (igt_spinner_init(&c->spin, gt))
> goto err_ctx;
> @@ -3385,13 +3396,17 @@ static int live_preempt_timeout(void *arg)
> return -ENOMEM;
>
> ctx_hi = kernel_context(gt->i915, NULL);
> - if (!ctx_hi)
> + if (IS_ERR(ctx_hi)) {
> + err = PTR_ERR(ctx_hi);
> goto err_spin_lo;
> + }
> ctx_hi->sched.priority = I915_CONTEXT_MAX_USER_PRIORITY;
>
> ctx_lo = kernel_context(gt->i915, NULL);
> - if (!ctx_lo)
> + if (IS_ERR(ctx_lo)) {
> + err = PTR_ERR(ctx_lo);
> goto err_ctx_hi;
> + }
> ctx_lo->sched.priority = I915_CONTEXT_MIN_USER_PRIORITY;
>
> for_each_engine(engine, gt, id) {
> @@ -3683,8 +3698,10 @@ static int live_preempt_smoke(void *arg)
>
> for (n = 0; n < smoke.ncontext; n++) {
> smoke.contexts[n] = kernel_context(smoke.gt->i915, NULL);
> - if (!smoke.contexts[n])
> + if (IS_ERR(smoke.contexts[n])) {
> + err = PTR_ERR(smoke.contexts[n]);
> goto err_ctx;
> + }
> }
>
> for (n = 0; n < ARRAY_SIZE(phase); n++) {
> --
> 2.17.1
>
WARNING: multiple messages have this Message-ID (diff)
From: Matthew Brost <matthew.brost@intel.com>
To: Miaoqian Lin <linmq006@gmail.com>
Cc: Jani Nikula <jani.nikula@linux.intel.com>,
Joonas Lahtinen <joonas.lahtinen@linux.intel.com>,
Rodrigo Vivi <rodrigo.vivi@intel.com>,
David Airlie <airlied@linux.ie>, Daniel Vetter <daniel@ffwll.ch>,
Chris Wilson <chris@chris-wilson.co.uk>,
Andi Shyti <andi.shyti@intel.com>,
Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>,
Jason Ekstrand <jason@jlekstrand.net>,
Maarten Lankhorst <maarten.lankhorst@linux.intel.com>,
Lucas De Marchi <lucas.demarchi@intel.com>,
intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH] drm/i915/selftests: Fix NULL vs IS_ERR checking for kernel_context
Date: Wed, 12 Jan 2022 09:53:38 -0800 [thread overview]
Message-ID: <20220112175338.GA12463@jons-linux-dev-box> (raw)
In-Reply-To: <20211222075832.1732-1-linmq006@gmail.com>
On Wed, Dec 22, 2021 at 07:58:29AM +0000, Miaoqian Lin wrote:
> Since i915_gem_create_context() function return error pointers,
> the kernel_context() function does not return null, It returns error
> pointers too. Using IS_ERR() to check the return value to fix this.
>
Just a nit, err is initialized to -ENOMEM in a bunch of these tests
which isn't needed anymore. If you want to clean that up too, feel free.
With that:
Reviewed-by: Matthew Brost <matthew.brost@intel.com>
> Signed-off-by: Miaoqian Lin <linmq006@gmail.com>
> ---
> drivers/gpu/drm/i915/gt/selftest_execlists.c | 41 ++++++++++++++------
> 1 file changed, 29 insertions(+), 12 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/gt/selftest_execlists.c b/drivers/gpu/drm/i915/gt/selftest_execlists.c
> index b367ecfa42de..eacfe920afed 100644
> --- a/drivers/gpu/drm/i915/gt/selftest_execlists.c
> +++ b/drivers/gpu/drm/i915/gt/selftest_execlists.c
> @@ -1540,13 +1540,16 @@ static int live_busywait_preempt(void *arg)
> */
>
> ctx_hi = kernel_context(gt->i915, NULL);
> - if (!ctx_hi)
> - return -ENOMEM;
> + if (IS_ERR(ctx_hi))
> + return IS_ERR(ctx_hi);
> +
> ctx_hi->sched.priority = I915_CONTEXT_MAX_USER_PRIORITY;
>
> ctx_lo = kernel_context(gt->i915, NULL);
> - if (!ctx_lo)
> + if (IS_ERR(ctx_lo)) {
> + err = PTR_ERR(ctx_lo);
> goto err_ctx_hi;
> + }
> ctx_lo->sched.priority = I915_CONTEXT_MIN_USER_PRIORITY;
>
> obj = i915_gem_object_create_internal(gt->i915, PAGE_SIZE);
> @@ -1742,13 +1745,17 @@ static int live_preempt(void *arg)
> goto err_spin_hi;
>
> ctx_hi = kernel_context(gt->i915, NULL);
> - if (!ctx_hi)
> + if (IS_ERR(ctx_hi)) {
> + err = PTR_ERR(ctx_hi);
> goto err_spin_lo;
> + }
> ctx_hi->sched.priority = I915_CONTEXT_MAX_USER_PRIORITY;
>
> ctx_lo = kernel_context(gt->i915, NULL);
> - if (!ctx_lo)
> + if (IS_ERR(ctx_lo)) {
> + err = PTR_ERR(ctx_lo);
> goto err_ctx_hi;
> + }
> ctx_lo->sched.priority = I915_CONTEXT_MIN_USER_PRIORITY;
>
> for_each_engine(engine, gt, id) {
> @@ -1834,12 +1841,16 @@ static int live_late_preempt(void *arg)
> goto err_spin_hi;
>
> ctx_hi = kernel_context(gt->i915, NULL);
> - if (!ctx_hi)
> + if (IS_ERR(ctx_hi)) {
> + err = PTR_ERR(ctx_hi);
> goto err_spin_lo;
> + }
>
> ctx_lo = kernel_context(gt->i915, NULL);
> - if (!ctx_lo)
> + if (IS_ERR(ctx_lo)) {
> + err = PTR_ERR(ctx_lo);
> goto err_ctx_hi;
> + }
>
> /* Make sure ctx_lo stays before ctx_hi until we trigger preemption. */
> ctx_lo->sched.priority = 1;
> @@ -1928,8 +1939,8 @@ struct preempt_client {
> static int preempt_client_init(struct intel_gt *gt, struct preempt_client *c)
> {
> c->ctx = kernel_context(gt->i915, NULL);
> - if (!c->ctx)
> - return -ENOMEM;
> + if (IS_ERR(c->ctx))
> + return PTR_ERR(c->ctx);
>
> if (igt_spinner_init(&c->spin, gt))
> goto err_ctx;
> @@ -3385,13 +3396,17 @@ static int live_preempt_timeout(void *arg)
> return -ENOMEM;
>
> ctx_hi = kernel_context(gt->i915, NULL);
> - if (!ctx_hi)
> + if (IS_ERR(ctx_hi)) {
> + err = PTR_ERR(ctx_hi);
> goto err_spin_lo;
> + }
> ctx_hi->sched.priority = I915_CONTEXT_MAX_USER_PRIORITY;
>
> ctx_lo = kernel_context(gt->i915, NULL);
> - if (!ctx_lo)
> + if (IS_ERR(ctx_lo)) {
> + err = PTR_ERR(ctx_lo);
> goto err_ctx_hi;
> + }
> ctx_lo->sched.priority = I915_CONTEXT_MIN_USER_PRIORITY;
>
> for_each_engine(engine, gt, id) {
> @@ -3683,8 +3698,10 @@ static int live_preempt_smoke(void *arg)
>
> for (n = 0; n < smoke.ncontext; n++) {
> smoke.contexts[n] = kernel_context(smoke.gt->i915, NULL);
> - if (!smoke.contexts[n])
> + if (IS_ERR(smoke.contexts[n])) {
> + err = PTR_ERR(smoke.contexts[n]);
> goto err_ctx;
> + }
> }
>
> for (n = 0; n < ARRAY_SIZE(phase); n++) {
> --
> 2.17.1
>
next prev parent reply other threads:[~2022-01-12 17:59 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-12-22 7:58 [Intel-gfx] [PATCH] drm/i915/selftests: Fix NULL vs IS_ERR checking for kernel_context Miaoqian Lin
2021-12-22 7:58 ` Miaoqian Lin
2021-12-22 7:58 ` Miaoqian Lin
2022-01-10 19:16 ` [Intel-gfx] ✓ Fi.CI.BAT: success for " Patchwork
2022-01-11 1:28 ` [Intel-gfx] ✗ Fi.CI.IGT: failure " Patchwork
2022-01-12 17:53 ` Matthew Brost [this message]
2022-01-12 17:53 ` [PATCH] " Matthew Brost
2022-01-12 17:53 ` Matthew Brost
2022-01-24 12:58 ` [Intel-gfx] [PATCH v2] " Miaoqian Lin
2022-01-24 12:58 ` Miaoqian Lin
2022-01-24 12:58 ` Miaoqian Lin
2022-01-24 21:03 ` [Intel-gfx] ✓ Fi.CI.BAT: success for drm/i915/selftests: Fix NULL vs IS_ERR checking for kernel_context (rev2) Patchwork
2022-01-25 2:08 ` [Intel-gfx] ✗ Fi.CI.IGT: failure " Patchwork
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20220112175338.GA12463@jons-linux-dev-box \
--to=matthew.brost@intel.com \
--cc=airlied@linux.ie \
--cc=andi.shyti@intel.com \
--cc=chris@chris-wilson.co.uk \
--cc=dri-devel@lists.freedesktop.org \
--cc=intel-gfx@lists.freedesktop.org \
--cc=linmq006@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=lucas.demarchi@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.