From: Philippe Gerum <rpm@xenomai.org>
To: Makarand Pradhan <makarandpradhan@domain.hid>
Cc: "xenomai@xenomai.org" <xenomai@xenomai.org>
Subject: Re: [Xenomai-help] Issue with Auto relax and nested mutexes
Date: Tue, 10 Jan 2012 16:11:32 +0100 [thread overview]
Message-ID: <4F0C5524.9020501@domain.hid> (raw)
In-Reply-To: <4F0B530A.80905@domain.hid>
On 01/09/2012 09:50 PM, Makarand Pradhan wrote:
> Hi,
>
> I am running kernel 3.0.0, xenomai: 2.6, powerpc 8360.
>
> I am noticing an issue while using the auto relax feature related to
> mutexes. I am using nested mutexes. The code is attached to this email.
>
> The problem is that I am not relaxing after a RT thread grabs and
> releases a mutex. On further investigation, it was noted that the rescnt
> is not going down to 0.
From your code, task1 would auto-relax only if started with priority 0,
which is what I get here:
-bash-3.2# ./relax 0 1
Spawning: tasks
bP: 0, cp: 0, mode: 0
Acquire complete
Release complete
bP: 0, cp: 0, mode: 0
Acquire complete
Release complete
bP: 0, cp: 0, mode: 0
Acquire complete
Release complete
...
Conversely, I get the right behavior if setting a non-zero priority to
task1:
-bash-3.2# ./relax 1 0
Spawning: tasks
bP: 1, cp: 1, mode: 1
Acquire complete
Release complete
bP: 1, cp: 1, mode: 1
Acquire complete
Release complete
bP: 1, cp: 1, mode: 1
Acquire complete
...
In any case, the priority of task2 should have no impact on the result.
I'm running current 2.6 HEAD commit (168da46de), kernel 3.1.5/powerpc32
(52xx), pipeline 2.13-06.
Which priority arguments are you passing to your test program?
> Another observation is that I do not hit
> rt_mutex_release in the kernel in the problem scenario, I believe when
> the thread undergoes a priority inversion.This may be a problem as the
> rescnt would not get decremented. Not sure how the mutex is releasing
> wiithout hitting rt_mutex_relase or am I missing anything?
>
These are fast mutexes, the thread does not have to jump to kernel space
unless the released mutex was actually contented.
> If I have both the tasks running at priority 0, I stay in the secondary
> domain, rt_mutex_release is invoked as expected, the rescnt goes down to
> 0 when all the mutexes are released.
>
> Has anyone faced this problem?
>
I'm unsure there is any yet. Auto-relax applies to non -rt Xenomai
threads only (i.e. prio == 0).
> Rgds,
> Makarand
>
>
>
>
>
>
>
> _______________________________________________
> Xenomai-help mailing list
> Xenomai-help@domain.hid
> https://mail.gna.org/listinfo/xenomai-help
--
Philippe.
next prev parent reply other threads:[~2012-01-10 15:11 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-01-09 20:50 [Xenomai-help] Issue with Auto relax and nested mutexes Makarand Pradhan
2012-01-10 15:11 ` Philippe Gerum [this message]
2012-01-10 15:26 ` Makarand Pradhan
2012-01-10 15:38 ` Philippe Gerum
2012-01-10 15:40 ` Makarand Pradhan
2012-01-10 15:40 ` Philippe Gerum
2012-01-10 15:42 ` Philippe Gerum
2012-01-10 15:51 ` Makarand Pradhan
2012-01-10 17:51 ` Philippe Gerum
2012-01-10 18:08 ` Philippe Gerum
2012-01-10 18:39 ` Makarand Pradhan
2012-01-10 19:10 ` Makarand Pradhan
2012-01-10 20:30 ` Philippe Gerum
2012-01-18 22:41 ` Makarand Pradhan
2012-01-19 10:17 ` Gilles Chanteperdrix
2012-01-19 11:25 ` Philippe Gerum
2012-01-19 12:29 ` Gilles Chanteperdrix
2012-01-19 15:35 ` Makarand Pradhan
2012-01-19 15:22 ` Makarand Pradhan
2012-01-19 15:49 ` Philippe Gerum
2012-01-19 16:22 ` Makarand Pradhan
2012-01-19 16:39 ` Makarand Pradhan
2012-01-23 15:01 ` Makarand Pradhan
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=4F0C5524.9020501@domain.hid \
--to=rpm@xenomai.org \
--cc=makarandpradhan@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.