All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jan Kiszka <jan.kiszka@domain.hid>
To: Philippe Gerum <rpm@xenomai.org>
Cc: Xenomai core <Xenomai-core@domain.hid>
Subject: [Xenomai-core] Fragile lock usage tracking for auto-relax
Date: Tue, 31 May 2011 13:37:21 +0200	[thread overview]
Message-ID: <4DE4D2F1.20305@domain.hid> (raw)

Hi Philippe,

enabling XENO_OPT_DEBUG_NUCLEUS reveals some shortcomings of the
in-kernel lock usage tracking via xnthread_t::hrescnt. This BUGON in
xnsynch_release triggers for RT threads:

	XENO_BUGON(NUCLEUS, xnthread_get_rescnt(lastowner) < 0);

RT threads do not balance their lock and unlock syscalls, so their
counter goes wild quite quickly.

But just limiting the bug check to XNOTHER threads is neither a
solution. How to deal with the counter on scheduling policy changes?

So my suggestion is to convert the auto-relax feature into a service,
user space can request based on a counter that user space maintains
independently. I.e. we should create another shared word that user space
increments and decrements on lock acquisitions/releases on its own. The
nucleus just tests it when deciding about the relax on return to user space.

But before hacking into that direction, I'd like to hear if it makes
sense to you.

Jan

-- 
Siemens AG, Corporate Technology, CT T DE IT 1
Corporate Competence Center Embedded Linux


             reply	other threads:[~2011-05-31 11:37 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-05-31 11:37 Jan Kiszka [this message]
2011-05-31 16:29 ` [Xenomai-core] Fragile lock usage tracking for auto-relax Philippe Gerum
2011-05-31 16:38   ` Gilles Chanteperdrix
2011-05-31 16:48     ` Philippe Gerum
2011-05-31 16:38   ` Jan Kiszka
2011-05-31 16:50     ` Gilles Chanteperdrix
2011-05-31 16:54       ` Jan Kiszka
2011-05-31 16:58     ` Philippe Gerum
2011-05-31 17:06       ` Jan Kiszka
2011-05-31 17:58         ` Gilles Chanteperdrix
2011-05-31 18:01           ` Jan Kiszka

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=4DE4D2F1.20305@domain.hid \
    --to=jan.kiszka@domain.hid \
    --cc=Xenomai-core@domain.hid \
    --cc=rpm@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.