From: Monica Puig-Pey <puigpeym@unican.es>
To: <markh@compro.net>
Cc: Rolando Martins <rolando.martins@gmail.com>,
<linux-rt-users@vger.kernel.org>, <linux-kernel@vger.kernel.org>
Subject: Re: Changing Kernel thread priorities
Date: Tue, 7 Jun 2011 10:40:49 +0200 [thread overview]
Message-ID: <4DEDE411.6010807@unican.es> (raw)
In-Reply-To: <4DED051A.6020702@compro.net>
El 06/06/11 18:49, Mark Hounschell escribió:
> On 06/06/2011 07:58 AM, Monica Puig-Pey wrote:
>> El 06/06/11 13:54, Rolando Martins escribió:
>>> Hi,
>>> I use the following:
>>>
>>> PIDs=$(ps -eLo pid,cls,rtprio,pri,nice,cmd | grep -i "irq" | awk '{
>>> print $1; }' | xargs echo)
>>> for i in $PIDs
>>> do
>>> ret=$(chrt -f -p 99 $i)
>>> done
>>>
>>> This will change the kernel thread associated with an irq handler to
>>> RT FIFO prio 99.
>>> Just change the script to your specific interrupt.
>>>
>>> Hope it helps,
>>> Rolando
>>>
>>> On Mon, Jun 6, 2011 at 12:47 PM, Monica Puig-Pey<puigpeym@unican.es>
>>> wrote:
>>>> I am writing a driver which has one kernel thread associated with it.
>>>> I want to change the priority of this thread, so that I can specify the
>>>> order in which it is scheduled following an interrupt.
>>>> I'm using:
>>>>
>>>> sched_setscheduler(struct task_struct *, int, struct sched_param *);
>>>>
>>>> but it doesn't work. I tried to change the priority from the
>>>> init_module,
>>>> and also from the Kernel Thread, but there is no way.
>>>>
>>>> Kernel version is 2.6.31-11-rt
>>>>
>>>> What do I call to change a kernel thread priority?
>>>>
>>>> Thanks you very much
>>>>
>>>> Mónica
>>>>
>>>> --
>>>> To unsubscribe from this list: send the line "unsubscribe
>>>> linux-rt-users" in
>>>> the body of a message to majordomo@vger.kernel.org
>>>> More majordomo info at http://vger.kernel.org/majordomo-info.html
>>>>
>>
>> I need to change the priority from inside the driver, when creating the
>> kernel thread.
>> Your script is useful but it is done in user context,
>> Any other help please?
>
> What I do is record the PID of the thread in the driver, then create an
> IOCTL for your driver that user land can call that either returns the
> PID so you can do it in user land, or cause the IOCTL code to do it in
> the driver.
>
> The same can be done with the affinity of the IRQ if you record the IRQ
> number.
>
> Mark
> --
> To unsubscribe from this list: send the line "unsubscribe
> linux-rt-users" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
But I don't have de PID of my Kthread, I only have the task_struc * that
gives me the function:
struct task_struct *kthread_create(int (*threadfn)(void *data),
void *data,
const char namefmt[], ...)
How could I get the PID, and which function should I use in the IOCTL
(kernel context) for changing its priority?
Thank you so much for your help
Mónica
next prev parent reply other threads:[~2011-06-07 8:40 UTC|newest]
Thread overview: 34+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-06-04 11:48 One Interrupted Threads per Interrupt line? Monica Puig-Pey
2011-06-04 12:03 ` I/O operations priority in RTOS Monica Puig-Pey
2011-06-04 12:30 ` kernel threads in drivers using the RT patch Monica Puig-Pey
2011-06-06 11:47 ` Changing Kernel thread priorities Monica Puig-Pey
2011-06-06 11:54 ` Rolando Martins
2011-06-06 11:58 ` Monica Puig-Pey
2011-06-06 16:49 ` Mark Hounschell
2011-06-07 8:40 ` Monica Puig-Pey [this message]
2011-06-07 9:14 ` Mark Hounschell
2011-06-07 9:46 ` Mark Hounschell
2011-06-07 18:34 ` Monica Puig-Pey
2011-06-07 18:55 ` Mark Hounschell
2011-06-10 10:12 ` Monica Puig-Pey
2011-06-06 18:20 ` Armin Steinhoff
-- strict thread matches above, loose matches on Subject: below --
2011-06-06 12:10 Johannes Bauer
2011-06-06 22:36 ` Peter Zijlstra
2011-06-07 8:27 Johannes Bauer
2011-06-07 8:41 ` Thomas Gleixner
2011-06-07 9:40 ` Armin Steinhoff
2011-06-07 9:37 ` Peter Zijlstra
2011-06-07 11:02 ` Remy Bohmer
2011-06-07 14:14 ` Peter Zijlstra
2011-06-07 14:57 ` Lucas De Marchi
2011-06-07 15:15 ` Thomas Gleixner
2011-06-07 23:38 ` Nicholas Mc Guire
2011-06-07 23:35 ` Nicholas Mc Guire
2011-06-08 17:50 ` Remy Bohmer
2011-06-08 19:49 ` Thomas Gleixner
2011-06-10 14:04 ` Remy Bohmer
2011-06-10 15:37 ` Thomas Gleixner
2011-06-11 17:16 ` Remy Bohmer
2011-06-09 11:19 ` Nicholas Mc Guire
[not found] <17185480.5304.1307435255996.JavaMail.root@WARSBL214.highway.tel ekom.at>
[not found] ` <17185480.5304.1307435255996.JavaMail.root@WARSBL214.highway.te lekom.at>
2011-06-07 8:32 ` Monica Puig-Pey
2011-06-07 8:43 ` Thomas Gleixner
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=4DEDE411.6010807@unican.es \
--to=puigpeym@unican.es \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-rt-users@vger.kernel.org \
--cc=markh@compro.net \
--cc=rolando.martins@gmail.com \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).