Re: [RFD] 'nice' attribute for executable files

Måns Rullgård
2005-03-30T19:08:13Z

Wiktor <victorjan@poczta.onet.pl> writes:

> Måns Rullgård wrote:
>> It can be done entirely in userspace, if you want it. Just hack your
>> shell to examine some extended attribute of your choice, and adjust
>> the nice value before executing files. Then arrange to have the shell
>> run with a negative nice value. This can be easily accomplished with
>> a simple wrapper, only for the shell.
>>
>
> this method can be applied, as you've written, only for shell (which
> have to be hacked before). so, every program that runs any other
> program should be hacked to use
> pre-execution-renice-database. rewriting all the programs in the world
> takes a bit more time than i have to the death. woudn't it be simplier
> to implement it in kernel, somewhere near setuid/setgid bits? if it
> would make system slower, support of such attribute could be optional,
> just like acl-s.

You could wrap /lib/ld-linux.so, and get all dynamically linked
programs done in one sweep.

> i've found a way to perform such function in userland, but it is
> awful, and, if some program runs another, that should be reniced, very
> often, starting a shell (even ash) for each call will surely smoke my
> cpu.

Using a shell to run external programs is quite common. The system()
and popen() functions both invoke the shell.

> this feature without doubt belongs to kernel - it is performed every
> time kernel starts a program, and it is not so complicated like, let's
> say, hotplug support, is it?

I'm not so sure it belongs at all. The can of worms it opens up is a
bit too big, IMHO.

--
Måns Rullgård
mru@inprovide.com