Thread (7 messages) flat view 7 messages, 3 authors, 2012-09-20

Questions about process state manipulation

From: Amit Gupta <hidden>
Date: 2012-09-19 23:10:07

Hi Srivatsa,

(Thats an interesting pointer. I didnt know about cgroups freeze. Thanks.)

However, I'm trying to figure out how the kernel would go about doing it.
i.e How the kernel, having a pointer to a task struct, goes about removing
something from the runqueue. or bringing something from a
TASK_INTERRUPTIBLE/STOPPED state back onto the runqueue.

I'm trying to figure this out from looking at the code, but am sort of
getting lost.

I guess I can rephrase the question as, I dont really need to do it for any
other purpose other than understanding how the kernel mechanisms will
accomplish it. i.e Doing it from userspace using "kill" or cgroups freeze
wont "uncover" this for me.

Hope my question is clearer,

Thanks for replies guys,
Amit



On Wed, Sep 19, 2012 at 3:09 AM, Srivatsa Bhat [off-list ref]wrote:
Hi Amit

On Wed, Sep 19, 2012 at 4:49 AM, Amit Gupta [off-list ref]wrote:
quoted
Hi Kshemendra,

I think I couldn't get my first question across clearly. My intent isn't
to change do_fork()'s implementation. That wont work for precisely the
reason you mentioned.(Infact everything after the init process would end up
blocked).

My question was more to explore if an existing running process can be
explicitly taken off the runqueue once we have a pointer to its task_struct.
If you simply want to stop a running process and resume it at your will,
you don't need to write any kernel code at all. Simply use the cgroup
freezer functionality from userspace. You can find more details in
Documentation/cgroups/freezer-subsystem.txt in the kernel sources.

Regards,
Srivatsa S. Bhat

-- 
Amit Gupta
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.kernelnewbies.org/pipermail/kernelnewbies/attachments/20120919/1e42136b/attachment.html 
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help