All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jan Kiszka <jan.kiszka@domain.hid>
To: Gilles Chanteperdrix <gilles.chanteperdrix@xenomai.org>
Cc: Xenomai-core@domain.hid
Subject: Re: [Xenomai-core] [PATCH] Flush xnfree backlog after thread deletion in root context
Date: Tue, 13 May 2008 11:10:12 +0200	[thread overview]
Message-ID: <48295AF4.2090402@domain.hid> (raw)
In-Reply-To: <2ff1a98a0805130156m3a8caf44s772f551f9e315a7d@domain.hid>

Gilles Chanteperdrix wrote:
> On Tue, May 13, 2008 at 10:26 AM, Jan Kiszka <jan.kiszka@domain.hid> wrote:
>>  @@ -1236,6 +1236,9 @@ void xnpod_delete_thread(xnthread_t *thr
>>                 xnthread_cleanup_tcb(thread);
>>
>>                 xnarch_finalize_no_switch(xnthread_archtcb(thread));
>>  +
>>  +               if (xnthread_test_state(sched->runthread, XNROOT))
>>  +                       xnfreesync();
>>         }
> 
> No, this does not look good. The point of deferring TCB freeing is
> that the TCB will be accessed shortly after it is freed.

By whom in this case? The thread was not active anymore. IIRC, the
use-after-release issue was related to self-deletions.

> 
> IMHO, the right solution is to add a call to xnpod_schedule or even
> directly xnfreesyng in the right place (in skins code, after all
> threads have been freed)

Well, as I said, we should rather move all these syncs out of critical
sections. So better avoid xnpod_schedule.

I need to think about this a bit more, I'm afraid. It is safe to delete
the TCB once the terminating thread is scheduled away and its successor
of about to leave (or left) xnpod_schedule, right?

Jan

-- 
Siemens AG, Corporate Technology, CT SE 2
Corporate Competence Center Embedded Linux


  reply	other threads:[~2008-05-13  9:10 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-05-13  8:26 [Xenomai-core] [PATCH] Flush xnfree backlog after thread deletion in root context Jan Kiszka
2008-05-13  8:56 ` Gilles Chanteperdrix
2008-05-13  9:10   ` Jan Kiszka [this message]
2008-05-13  9:16     ` Gilles Chanteperdrix
2008-05-13  9:29       ` Philippe Gerum
2008-05-13  9:32         ` Jan Kiszka
2008-05-13  9:38           ` Gilles Chanteperdrix
2008-05-13 10:46             ` Jan Kiszka
2008-05-13 12:33               ` Gilles Chanteperdrix

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=48295AF4.2090402@domain.hid \
    --to=jan.kiszka@domain.hid \
    --cc=Xenomai-core@domain.hid \
    --cc=gilles.chanteperdrix@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.