From: ebiederm@xmission.com (Eric W. Biederman)
To: "Serge E. Hallyn" <serue@us.ibm.com>
Cc: Andi Kleen <ak@suse.de>,
linux-kernel@vger.kernel.org, herbert@13thfloor.at, dev@sw.ru,
sam@vilain.net, xemul@sw.ru, haveblue@us.ibm.com, clg@fr.ibm.com,
frankeh@us.ibm.com
Subject: Re: [PATCH 2/9] nsproxy: incorporate fs namespace
Date: Wed, 10 May 2006 13:07:39 -0600 [thread overview]
Message-ID: <m1ac9pwves.fsf@ebiederm.dsl.xmission.com> (raw)
In-Reply-To: <20060510132623.GB20892@sergelap.austin.ibm.com> (Serge E. Hallyn's message of "Wed, 10 May 2006 08:26:23 -0500")
"Serge E. Hallyn" <serue@us.ibm.com> writes:
> Quoting Eric W. Biederman (ebiederm@xmission.com):
>> "Serge E. Hallyn" <serue@us.ibm.com> writes:
>>
>>
>> > @@ -1727,11 +1727,16 @@ static void __init init_mount_tree(void)
>> > namespace->root = mnt;
>> > mnt->mnt_namespace = namespace;
>> >
>> > - init_task.namespace = namespace;
>> > + init_task.nsproxy->namespace = namespace;
>> > read_lock(&tasklist_lock);
>> > do_each_thread(g, p) {
>> > + /* do we want namespace count to be #nsproxies,
>> > + * or # processes pointing to the namespace? */
>>
>> I am fairly certain we want the count to be #nsproxies.
>>
>> > get_namespace(namespace);
>> > - p->namespace = namespace;
>> > +#if 0
>> > + /* should only be 1 nsproxy so far */
>> > + p->nsproxy->namespace = namespace;
>> > +#endif
>> > } while_each_thread(g, p);
>> > read_unlock(&tasklist_lock);
>>
>> So I think this bit is wrong.
>
> Ok - in that case I need to audit the rest of namespace usage to make
> certain nothing depends on the count being #tasks.
Ok. Thats makes sense.
> BTW - a first set of comparison results showed nsproxy to have better
> dbench and tbench throughput, and worse kernbench performance. Which
> may make sense given that nsproxy results in lower memory usage but
> likely increased cache misses due to extra pointer dereference.
There are two additional things I can think of that are worth looking
at:
- moving copy_uts_namespace, and copy_namespace inside of copy_nsproxy
so we only run those we create a new nsproxy instance.
- Attempting to optimize cache line utilization by placing the
structures in line in struct ns_proxy:
struct nsproxy {
atomic_t count;
struct namespace *namespace;
struct uts_namespace *uts_ns;
struct namespace namespace_data;
struct new_utsname uts_data;
};
With the nsproxy count severing as a count for both the embedded
data and for the nsproxy itself. I think it is a long shot but it
could be interesting.
Given the frequency of use of the uts namespace and the filesystem
namespace simply I think not accessing those namespaces on fork is
likely to reduce the additional cache line miss rate enough so
that it is lost in the noise.
Eric
next prev parent reply other threads:[~2006-05-10 19:09 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <29vfyljM-1.2006059-s@us.ibm.com>
2006-05-10 2:11 ` [PATCH 2/9] nsproxy: incorporate fs namespace Serge E. Hallyn
2006-05-10 12:46 ` Eric W. Biederman
2006-05-10 13:26 ` Serge E. Hallyn
2006-05-10 19:07 ` Eric W. Biederman [this message]
2006-05-10 20:34 ` Serge E. Hallyn
2006-05-10 20:50 ` Eric W. Biederman
2006-05-12 15:24 ` Serge E. Hallyn
2006-05-12 15:44 ` Dave Hansen
2006-05-12 16:54 ` Serge E. Hallyn
2006-05-12 19:12 ` Serge E. Hallyn
2006-05-12 19:14 ` Serge E. Hallyn
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=m1ac9pwves.fsf@ebiederm.dsl.xmission.com \
--to=ebiederm@xmission.com \
--cc=ak@suse.de \
--cc=clg@fr.ibm.com \
--cc=dev@sw.ru \
--cc=frankeh@us.ibm.com \
--cc=haveblue@us.ibm.com \
--cc=herbert@13thfloor.at \
--cc=linux-kernel@vger.kernel.org \
--cc=sam@vilain.net \
--cc=serue@us.ibm.com \
--cc=xemul@sw.ru \
/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