From: Jan Kiszka <jan.kiszka@domain.hid>
To: Dmitry Adamushko <dmitry.adamushko@domain.hid>
Cc: xenomai@xenomai.org
Subject: Re: [Xenomai-core] [PATCH-STACK] Missing bits for -rc1
Date: Tue, 03 Jul 2007 16:44:24 +0200 [thread overview]
Message-ID: <468A60C8.4050203@domain.hid> (raw)
In-Reply-To: <b647ffbd0707030713x7eec10d2j5355e6257445f970@domain.hid>
[-- Attachment #1: Type: text/plain, Size: 2063 bytes --]
Dmitry Adamushko wrote:
> On 02/07/07, Jan Kiszka <jan.kiszka@domain.hid> wrote:
>> Dmitry Adamushko wrote:
>> > On 01/07/07, Jan Kiszka <jan.kiszka@domain.hid> wrote:
>> >> Hi all,
>> >>
>> >> I've just uploaded my rebased patch stack, including specifically the
>> >> last bits that should go in before -rc1,
>
> a few comments:
>
> (1) in xnintr_irq_handler()
>
> + xnlock_get(&xnirqs[irq].lock);
> +
> +#ifdef CONFIG_SMP
> + /* In SMP case, we have to reload the cookie under the per-IRQ lock
> + to avoid racing with xnintr_detach. */
> + intr = rthal_irq_cookie(&rthal_domain, irq);
> + if (unlikely(!intr)) {
> + s = 0;
> + goto unlock_and_exit;
> + }
> +#else
> + intr = cookie;
> +#endif
>
> I think, it would be better to check 'intr' for NULL at this point so
> to cover 'cookie == NULL' (who knows.. and it's better not to rely on
> the lower layer here), I guess.
The lower layer just passes what we hand over - and when we do so. Keep
in mind: this is the non-SMP case, thus we can rely on the atomicity of
this handler like the one of registering a handler + its cookie (like we
always did -- unfortunately also for SMP...). For me, checking for NULL
on UP is redundant code in a hotpath. Should I spread some comment
regarding this assumption?
>
> (2) use cases of xnintr_sync_stat_references() in xnintr_irq_detach()
>
> +
> + xnlock_get(&xnirqs[irq].lock);
> +
> + err = xnarch_release_irq(intr->irq);
> + xnintr_sync_stat_references(intr);
> + xnlock_put(&xnirqs[irq].lock);
>
> Why do you call xnintr_sync_stat_references() inside the locked section
> here?
> Does xnintr_sync_stat_references() really need to be protected by
> 'intr->lock' (it's been already detached) ?
That's now my own overcautiousness :). I think we can move it out.
Someone must sync on some xnintr object while someone else tries to
re-register an object with very same address -- classical user error,
nothing we need to catch here.
Thanks,
Jan
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 250 bytes --]
next prev parent reply other threads:[~2007-07-03 14:44 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-07-01 18:37 [Xenomai-core] [PATCH-STACK] Missing bits for -rc1 Jan Kiszka
[not found] ` <b647ffbd0707020435oc733ee2m2facf281ee0c5cbb@domain.hid>
[not found] ` <4688E373.5020205@domain.hid>
2007-07-03 14:13 ` Dmitry Adamushko
2007-07-03 14:44 ` Jan Kiszka [this message]
2007-07-03 19:09 ` Jan Kiszka
2007-07-04 8:37 ` Dmitry Adamushko
2007-07-04 9:06 ` Philippe Gerum
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=468A60C8.4050203@domain.hid \
--to=jan.kiszka@domain.hid \
--cc=dmitry.adamushko@domain.hid \
--cc=xenomai@xenomai.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.