2006-11-12 19:08:51

by ranjith kumar

[permalink] [raw]
Subject: privilege level of program which is called by call_usermodehelper()

Hi,

I think the program which is called by
call_usermodehelper() will not be executed at
privilege level zero on IA-32 machines.
Am I right?


How to run a program which has been compiled by a
compiler(say gcc) at privilege level zero?


Indeed I want to compare time taken in executing two
programs. If we run them at privilege level zero by
calling them in a kernel module, processor will not
switch to other processors. So that we can find out
time taken to execute a program more accurately.

What you say??
Thanks in advance.






___________________________________________________________
Now you can scan emails quickly with a reading pane. Get the new Yahoo! Mail. http://uk.docs.yahoo.com/nowyoucan.html


2006-11-12 20:16:45

by Michal Schmidt

[permalink] [raw]
Subject: Re: privilege level of program which is called by call_usermodehelper()

ranjith kumar wrote:
> Hi,
>
> I think the program which is called by
> call_usermodehelper() will not be executed at
> privilege level zero on IA-32 machines.
> Am I right?

Right. Only the kernel runs in privilege level (ring) 0.

> How to run a program which has been compiled by a
> compiler(say gcc) at privilege level zero?

You don't. Well, you could put it in the kernel...

> Indeed I want to compare time taken in executing two
> programs. If we run them at privilege level zero by
> calling them in a kernel module, processor will not
> switch to other processors.

That's a false assumption. Even kernel code is preemptible nowadays.

> So that we can find out
> time taken to execute a program more accurately.

If you run your program on an otherwise idle machine, the results should
be pretty accurate.
If you really think it matters, then run your program with real-time
priority.

> What you say??
> Thanks in advance.

Michal