Thread (2 messages) flat view 2 messages, 2 authors, 2012-08-06

Re: how to implement platform specific per process parameter?

From: Anshuman Khandual <hidden>
Date: 2012-08-06 07:58:33
Also in: lkml

There are 4 options:
1. [not a kernel interface] use ptrace to execute the register changing
command inside the specified pid. The next context switch saves the new
value in the thread_struct. Dirty hack.

2. Add a new syscall which would receive pid + register value and do the
job. A bit too much.

3. Add some hook in /proc filesystem but so far there were no platform
specific bits, right?

4. Implement a static node "/sys/devices/system/cpu/dscr_control".
write() would parse the input stream, call scanf("%d %x", &pid, &dscr)
and do the job.

/sys/ interface would be appropriate I believe. But in this way we can take a new
(pid, dscr) and update thread_struct. But there should be a way to enlist all
(pid, dscr) values which are explicitly set by the user and different than that
of /sys/devices/system/cpu/dscr_default. So that we can know which process is holding
to what value of DSCR at any point of time.

 
What is the correct approach? Thanks.

Regards
Anshuman
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help