Re: Setting the priority of an IRQ thread

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, 17 Jun 2009, Thomas Gleixner wrote:
> On Tue, 16 Jun 2009, Uwe Kleine-König wrote:
> > On Tue, Jun 16, 2009 at 07:59:28AM +0000, Martin Shepherd wrote:
> > > Suresh Kumar SHUKLA <suresh.shukla <at> st.com> writes:
> > > > 	// get IRQ descriptor from IRQ, it contains pid
> > > > 	desc = &irq_desc[IRQ_BASIC_TIMER_3_1];
> > > 
> > > That's a very useful clue. I was thinking that I would have to walk the process
> > > tree to find the thread by name. Following up on this clue, it appears as though
> > > in kernel 2.6.29.4 I should be able to use desc=irq_to_desc(irq) to look up the
> > > IRQ descriptor, then use pid=get_task_pid(desc->thread), to get the PID of the
> > > IRQ thread, then use sys_sched_setscheduler(pid,...) to change its priority.
> > > I'll try that out in the morning.
> > I wouldn't recommend calling sys_sched_setscheduler from kernel space.
> > That's the userspace API and you need to pass a __user pointer as third
> > argument.
> > 
> > The right way is to do this change from userspace.
> 
> What a nonsense. Care to look at the code ?
> 
> The irq/softirq threads call sys_sched_setscheduler() already to
> change their priorities.

More awake, it should be changed for correctness sake. :)

> The right way to do this is to have an interface
> set_irq_thread_prio(irq, prio)

This still stands, if we need a way to change the prio from the
driver.

But the more I think about it should be done from user space.

Thanks,

	tglx

[Index of Archives]     [RT Stable]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]

  Powered by Linux