2008-08-21 18:59:00

by Alan Stern

[permalink] [raw]
Subject: How do I raise the priority of one thread in a multi-threaded process?

Can anyone tell me how to raise the priority of one thread in a
multi-threaded process (using the pthreads library)? Neither nice(2)
nor setpriority(2) is appropriate since they affect the priority of an
entire process rather than a single thread.

Thanks,

Alan Stern


2008-08-21 20:28:37

by Michal Hocko

[permalink] [raw]
Subject: Re: How do I raise the priority of one thread in a multi-threaded process?

On Thursday 21 August 2008 12:58:46 pm Alan Stern wrote:
> Can anyone tell me how to raise the priority of one thread in a
> multi-threaded process (using the pthreads library)? Neither nice(2)
> nor setpriority(2) is appropriate since they affect the priority of an
> entire process rather than a single thread.

Isn't pthread_setschedprio, what you are looking for?

>
> Thanks,
>
> Alan Stern
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to [email protected]
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/



--
Michal Hocko
L3 team
SUSE LINUX s.r.o.
Lihovarska 1060/12
190 00 Praha 9
Czech Republic

2008-08-21 21:04:37

by Alan Stern

[permalink] [raw]
Subject: Re: How do I raise the priority of one thread in a multi-threaded process?

On Thu, 21 Aug 2008, Michal Hocko wrote:

> On Thursday 21 August 2008 12:58:46 pm Alan Stern wrote:
> > Can anyone tell me how to raise the priority of one thread in a
> > multi-threaded process (using the pthreads library)? Neither nice(2)
> > nor setpriority(2) is appropriate since they affect the priority of an
> > entire process rather than a single thread.
>
> Isn't pthread_setschedprio, what you are looking for?

Actually I was looking for pthread_setschedparam(). But it wasn't
clear at first that I needed to change the policy to SCHED_FIFO and
that special capabilities were needed. With those changes it seems to
work correctly.

Thanks for pointing me in the right direction!

Alan Stern