From: Peter Williams <pwil3058@bigpond.net.au>
To: Matt Helsley <matthltc@us.ibm.com>
Cc: "John T. Kohl" <jtk@us.ibm.com>, Andrew Morton <akpm@osdl.org>,
Linux-Kernel <linux-kernel@vger.kernel.org>,
Jes Sorensen <jes@sgi.com>,
LSE-Tech <lse-tech@lists.sourceforge.net>,
"Chandra S. Seetharaman" <sekharan@us.ibm.com>,
Alan Stern <stern@rowland.harvard.edu>,
Balbir Singh <balbir@in.ibm.com>,
Shailabh Nagar <nagar@watson.ibm.com>
Subject: Re: [PATCH] Per-task watchers: Enable inheritance
Date: Sat, 24 Jun 2006 10:08:42 +1000 [thread overview]
Message-ID: <449C828A.2090705@bigpond.net.au> (raw)
In-Reply-To: <1151105584.21787.1571.camel@stark>
Matt Helsley wrote:
> On Fri, 2006-06-23 at 17:17 -0400, John T. Kohl wrote:
>>>>>>> "MattH" == <matthltc@us.ibm.com> writes:
>> MattH> This allows per-task watchers to implement inheritance of the
>> MattH> same function and/or data in response to the initialization of
>> MattH> new tasks. A watcher might implement inheritance using the
>> MattH> following notifier_call snippet:
>>
>> I think this would meet our needs--we (MVFS) need to initialize some new
>> state in a child process based on our state in the parent process
>> (essentially, module-private inherited per-process state). It may still
>> be a bit clumsy to find the per-process state in other situations,
>> though. While a process is executing our module's code, would it be
>> safe to traverse current's notifier chain to find our state?
>
> Hmm. We may need to be careful with terminology here. Keep in mind that
> a task is not the same as the userspace concept of a "process".
>
> When a task is executing a module's code it will be safe to traverse
> the task's notifier chain to find state. It will *not* be safe to
> traverse the notifier chain of other tasks -- even if the other task is
> a thread in the same "process".
Yes, the client has to make its own arrangements for protecting this
type of thing.
The "per process CPU caps" code that I'm working on using task watchers
has to address these issues and indications (so far) are that they're
solvable. I should be in a position to post that code early next week
and, hopefully, that will give some insight into what can be achieved
with this type of mechanism. What I've done might not be the best way
to solve the issues involved but it should provide a starting point for
discussion :-)
Peter
--
Peter Williams pwil3058@bigpond.net.au
"Learning, n. The kind of ignorance distinguishing the studious."
-- Ambrose Bierce
next prev parent reply other threads:[~2006-06-24 0:08 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-06-21 8:47 [PATCH] Per-task watchers: Enable inheritance Matt Helsley
2006-06-21 10:30 ` Peter Williams
2006-06-21 21:27 ` Matt Helsley
2006-06-23 21:17 ` John T. Kohl
2006-06-23 23:33 ` Matt Helsley
2006-06-24 0:08 ` Peter Williams [this message]
2006-06-26 13:03 ` John T. Kohl
2006-06-26 13:27 ` Peter Williams
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=449C828A.2090705@bigpond.net.au \
--to=pwil3058@bigpond.net.au \
--cc=akpm@osdl.org \
--cc=balbir@in.ibm.com \
--cc=jes@sgi.com \
--cc=jtk@us.ibm.com \
--cc=linux-kernel@vger.kernel.org \
--cc=lse-tech@lists.sourceforge.net \
--cc=matthltc@us.ibm.com \
--cc=nagar@watson.ibm.com \
--cc=sekharan@us.ibm.com \
--cc=stern@rowland.harvard.edu \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox