From: Jani Nikula <jani.nikula@linux.intel.com>
To: Chris Wilson <chris@chris-wilson.co.uk>
Cc: intel-gfx@lists.freedesktop.org
Subject: Re: [PATCH 3/5] drm/i915: Convert OpRegion ASLE irq worker into a tasklet
Date: Mon, 23 May 2016 13:25:30 +0300 [thread overview]
Message-ID: <87a8jhdqat.fsf@intel.com> (raw)
In-Reply-To: <20160523092216.GA28975@nuc-i3427.alporthouse.com>
On Mon, 23 May 2016, Chris Wilson <chris@chris-wilson.co.uk> wrote:
> On Mon, May 23, 2016 at 12:12:30PM +0300, Jani Nikula wrote:
>> > #define ACPI_EV_DISPLAY_SWITCH (1<<0)
>> > @@ -814,11 +807,11 @@ void intel_opregion_fini(struct drm_device *dev)
>> > if (!opregion->header)
>> > return;
>> >
>> > + tasklet_kill(&dev_priv->opregion.asle_task);
>> > +
>>
>> So what if you got a new asle interrupt right here?
>
> Before we call fini, we should have de-installed the irq and done
> synchronize_irq, so we only have to worry about the residual task.
> (At least that is what I expect!)
I'd expect that too, but looks like
i915_driver_unload -> i915_driver_unregister -> intel_opregion_fini
happens *before*, not after
i915_driver_unload -> intel_modeset_cleanup -> intel_irq_uninstall
J.
>
>> > if (opregion->asle)
>> > opregion->asle->ardy = ASLE_ARDY_NOT_READY;
>>
>> This is supposed to signal we're not ready to handle said interrupts
>> anymore. Not that we should rely on it either.
>>
>> It wasn't pretty before, but I think this patch widens the window for a
>> race. If you kept the *other* code as it were, and just changed the work
>> to tasklets, I'd be willing to look in the other direction...
>
> Considering the recent discussion about the negatives of
> tasklets/ksoftirqd, I think I was being too cavalier in this conversion,
> and we should only think about using tasklet where the post-interrupt
> latency is critical.
> -Chris
--
Jani Nikula, Intel Open Source Technology Center
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
next prev parent reply other threads:[~2016-05-23 10:25 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-05-19 7:48 From work_struct to tasklet_struct Chris Wilson
2016-05-19 7:48 ` [PATCH 1/5] drm/i915: Convert RPS irq worker into a tasklet Chris Wilson
2016-05-19 7:48 ` [PATCH 2/5] drm/i915: Convert L3 parity " Chris Wilson
2016-05-19 7:48 ` [PATCH 3/5] drm/i915: Convert OpRegion ASLE " Chris Wilson
2016-05-23 9:12 ` Jani Nikula
2016-05-23 9:22 ` Chris Wilson
2016-05-23 10:25 ` Jani Nikula [this message]
2016-05-19 7:48 ` [PATCH 4/5] drm/i915: Convert display-port " Chris Wilson
2016-05-19 7:48 ` [PATCH 5/5] drm/i915: Convert hotplug " Chris Wilson
2016-05-19 8:21 ` From work_struct to tasklet_struct Chris Wilson
2016-05-19 8:36 ` ✗ Ro.CI.BAT: failure for series starting with [1/5] drm/i915: Convert RPS irq worker into a tasklet 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=87a8jhdqat.fsf@intel.com \
--to=jani.nikula@linux.intel.com \
--cc=chris@chris-wilson.co.uk \
--cc=intel-gfx@lists.freedesktop.org \
/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.