linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Monica Puig-Pey <puigpeym@unican.es>
To: <hannes_bauer@aon.at>
Cc: Peter Zijlstra <peterz@infradead.org>,
	Rolando Martins <rolando.martins@gmail.com>,
	<linux-rt-users@vger.kernel.org>, <linux-kernel@vger.kernel.org>,
	tglx <tglx@linutronix.de>
Subject: Re: Changing Kernel thread priorities
Date: Tue, 7 Jun 2011 10:32:50 +0200	[thread overview]
Message-ID: <4DEDE232.4090007@unican.es> (raw)
In-Reply-To: <17185480.5304.1307435255996.JavaMail.root@WARSBL214.highway.te lekom.at>

El 07/06/11 10:27, Johannes Bauer escribió:
> Absolutly correct!
>
> However, if you are running the system on an embedded platform, where the _WHOLE_ system (including priorities) is preconfigured and never touched, starting a irq thread with the right prio from start is a more straightforward method than having to invoke a script that changes it using userspace chrt tool.
>
> Regards JB
> ----- Ursprüngliche Nachricht -----
> Von: "Peter Zijlstra"<peterz@infradead.org>
> Erhalten: 07.06.2011 00:36
> An: hannes_bauer@aon.at
>
> "Monica Puig-Pey" wrote:
>>
>> I need to change the priority from inside the driver, when creating the
>> kernel thread.
>
> No you don't. How does you driver know about what priority is correct
> wrt all the other running RT tasks on the system?
>
> Determining the right priority in a fixed priority scheduling system is
> a system wide problem, nobody but the administrator can possibly even
> begin to solve it.
>
> There's a reason all RT irq threads are started at 50, its plain
> impossible to do better.
>

That's it!
If I work with embedded system where I know all my tasks running and 
there is not a user how could I do it?

What I tried is create the kernel thread in my init_module using:

	#include <linux/kthread.h>

	struct task_struct *kthread_create(int (*threadfn)(void *data),
				   void *data,
				   const char namefmt[], ...)
and then running it with:

	#include <linux/sched.h>
	
	extern int wake_up_process(struct task_struct *tsk);

These functions stars a Kthread which has a NON RT priority. I can see 
this using the ps command from user space.
Because it's not a real time thread is why I want, better need, to 
change its priority, to have only real time threads running in my 
driver. I want to use the Kthread as a bottom half for the interrupts.

How could I create real time kernel threads then? is kthread_create 
wrong for real time enviroment?


-- 
__________________________________________________________________________________

Mónica Puig-Pey González       E-mail: puigpeym@unican.es

Grupo de Computadores y Tiempo Real, Departamento de Electrónica y 
Computadores.
Facultad de Ciencias - Universidad de Cantabria
Av. de los Castros s/n. 39005 - Santander, España
__________________________________________________________________________________

       reply	other threads:[~2011-06-07  8:32 UTC|newest]

Thread overview: 33+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [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 [this message]
2011-06-07  8:43     ` Changing Kernel thread priorities Thomas Gleixner
2011-06-07 21:28       ` Threaded Irqs (was "Changing Kernel thread priorities") Tim Sander
2011-06-07 21:56         ` Thomas Gleixner
2011-06-07  8:27 Changing Kernel thread priorities 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
  -- 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-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
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

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=4DEDE232.4090007@unican.es \
    --to=puigpeym@unican.es \
    --cc=hannes_bauer@aon.at \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-rt-users@vger.kernel.org \
    --cc=peterz@infradead.org \
    --cc=rolando.martins@gmail.com \
    --cc=tglx@linutronix.de \
    /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).