Re: [vserver] Kernel Thread's accounted to a User Context

From: Daniel Hokka Zakrisson <daniel_at_hozac.com>
Date: Fri 30 Nov 2007 - 17:07:04 GMT
Message-ID: <55781.192.168.102.6.1196442424.squirrel@intranet>

Eric Keller wrote:
> What I'm trying to do is to run a kernel thread, but have it associated
> with a particular user's context. The reason is this - I want to run
> Click in the kernel, but allow each user to provide their own click
> graph. The root context will manage the whole process, performing
> checks, then merging the various click graphs into a single click graph,
> and installing that in the kernel. Each user graph would be run within
> their own kernel thread.

Why would it need to be associated with the context? How would it be started?

> I've looked through the vserver code and before I start doing any
> modifications, I wanted to post to the group to see if anyone has any
> guidance. It appears that include/linux/vs_context.h provides all of
> the functionality I'd need. So I would start the kernel thread as
> usual, then I would transfer it (by changing vx_info and xid, from
> task_struct) from the kernel's vx_info to a particular user context's
> vx_info (I would get the vx_info with lookup_vx_info(xid)).

All those values are inherited from the parent, so this kind of depends on
the answer to my second question above.

Note that there are more values to consider. vx_migrate_task handles all
this for you, so you might want to look at using that...

> Does that sound right, or where should I be looking?
>
> Thanks,
> Eric Keller

-- 
Daniel Hokka Zakrisson
Received on Fri Nov 30 17:07:15 2007
[Next/Previous Months] [Main vserver Project Homepage] [Howto Subscribe/Unsubscribe] [Paul Sladen's vserver stuff]
Generated on Fri 30 Nov 2007 - 17:07:24 GMT by hypermail 2.1.8