All of lore.kernel.org
 help / color / mirror / Atom feed
From: Philippe Gerum <rpm@xenomai.org>
To: Jan Kiszka <jan.kiszka@domain.hid>
Cc: adeos-main <adeos-main@gna.org>
Subject: Re: [Adeos-main] Unchecked ipipe_test_pipeline_from
Date: Tue, 10 Nov 2009 11:27:47 +0100	[thread overview]
Message-ID: <1257848867.2210.486.camel@domain.hid> (raw)
In-Reply-To: <4AF8A181.3050502@domain.hid>

On Tue, 2009-11-10 at 00:10 +0100, Jan Kiszka wrote:
> Philippe Gerum wrote:
> > On Mon, 2009-11-09 at 19:50 +0100, Jan Kiszka wrote:
> >> Gilles Chanteperdrix wrote:
> >>> Jan Kiszka wrote:
> >>>> Gilles Chanteperdrix wrote:
> >>>>> Jan Kiszka wrote:
> >>>>>> Hi Philippe,
> >>>>>>
> >>>>>> just noticed: The __ipipe_check_percpu_access of __ipipe_get_cpu_var,
> >>>>>> added in 2.6.29, makes ipipe_test_pipeline_from unusable for debugging
> >>>>>> purposes. It now triggers a false positive warning if the caller did not
> >>>>>> disabled interrupts or stalled its pipeline. One such user under Xenomai
> >>>>>> is rthal_local_irq_disabled, and that is used to check RTDM driver
> >>>>>> handlers /wrt leaking IRQ masks.
> >>>>> It does not look like a false positive. If the task issuing the call to
> >>>>> rthal_local_irq_disabled function was migrated at the wrong time, it
> >>>>> could check the stall flag on the wrong cpu.
> >>>> Unless you want to test the migration logic itself, a plain task in
> >>>> whatever domain should never see a CPU-depend rthal_local_irq_disabled -
> >>>> migration should never alter the context in this respect.
> >>>>
> > 
> > A plain task over the root domain which is subject to a migration may
> > end up testing the stall bit on the wrong (dest) CPU, which may execute
> > a different domain than the one running on the source CPU. As soon as
> 
> Yeah, makes sense now (with source and dest swapped, though).

Yes, I got it backward for the src/dst mention. The issue is indeed that
the address of the status word on src gets computed before a migration
is triggered to dst, so the action ends up being wrongly applied to src.

> 
> > the domain is not a context invariant, you do have a serious issue
> > coming up. So this does matter a lot, as the bug fixed some time ago in
> > ipipe_check_context() showed.
> > 
> >>>>> So, it looks like
> >>>>> rthal_local_irq_disabled should be fixed to turn off irqs during the check.
> >>>>>
> >>>> Would work, but would also be more heavy-weighted then needed.
> >>> If it is debug stuff, does the heavy-weight matter that much?
> >>>
> >> Actually, I'm no longer sure that a preemption check for
> >> ipipe_stall_pipeline_from makes sense at all. Am I missing some case?
> >>
> > 
> > Same as above. Albeit there may not be forced CPU migration over the
> > Xenomai domain, this is perfectly possible on the root one.
> 
> OK, will fix the checks in RTDM then.
> 
> Jan
> 
> _______________________________________________
> Adeos-main mailing list
> Adeos-main@domain.hid
> https://mail.gna.org/listinfo/adeos-main


-- 
Philippe.




      reply	other threads:[~2009-11-10 10:27 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-11-09 18:07 [Adeos-main] Unchecked ipipe_test_pipeline_from Jan Kiszka
2009-11-09 18:12 ` Gilles Chanteperdrix
2009-11-09 18:25   ` Jan Kiszka
2009-11-09 18:40     ` Gilles Chanteperdrix
2009-11-09 18:50       ` Jan Kiszka
2009-11-09 23:01         ` Philippe Gerum
2009-11-09 23:10           ` Jan Kiszka
2009-11-10 10:27             ` Philippe Gerum [this message]

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=1257848867.2210.486.camel@domain.hid \
    --to=rpm@xenomai.org \
    --cc=adeos-main@gna.org \
    --cc=jan.kiszka@domain.hid \
    /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.