linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [RFC][PATCH 0/5] uts namespaces: Introduction
@ 2006-04-07 18:36 Serge E. Hallyn
  2006-04-07 18:36 ` [RFC][PATCH 5/5] uts namespaces: Enable UTS namespaces debugging Serge E. Hallyn
                   ` (6 more replies)
  0 siblings, 7 replies; 50+ messages in thread
From: Serge E. Hallyn @ 2006-04-07 18:36 UTC (permalink / raw)
  To: linux-kernel, Kirill Korotaev, herbert, devel, sam,
	Eric W. Biederman, xemul, devel, James Morris

Introduce utsname namespaces.  Instead of a single system_utsname
containing hostname domainname etc, a process can request it's
copy of the uts info to be cloned.  The data will be copied from
it's original, but any further changes will not be seen by processes
which are not it's children, and vice versa.

This is useful, for instance, for vserver/openvz, which can now clone
a new uts namespace for each new virtual server.

This patchset is based on Kirill Korotaev's Mar 24 submission, taking
comments (in particular from James Morris and Eric Biederman) into
account.

Some performance results are attached.  I was mainly curious whether
it would be worth putting the task_struct->uts_ns pointer inside
a #ifdef CONFIG_UTS_NS.  The result show that leaving it in when
CONFIG_UTS_NS=n has negligable performance impact, so that is the
approach this patch takes.

-serge

Performance testing was done on a 2-cpu hyperthreaded
x86 box with 16G ram.  The following tests were run:
	dbench (20 times, four clients, on reiser fs non-isolated partition)
	tbench (20 times, 5 connections)
	kernbench (20 times)
	reaim (20 times ranging from 1 to 15 users)

They were run on 2.6.17-rc1:
	pristine
	patched, but with !CONFIG_UTS_NS ("disabled")
	patched with CONFIG_UTS_NS=y ("enabled")

All results are presented as means +/- 95% confidence interval.

Dbench results:
pristine:          387.080727 +/- 9.344585
patched disabled:  389.524364 +/- 9.574921
patched enabled:   370.155600 +/- 30.127808

Tbench results:
pristine:         388.940100 +/- 18.095104
patched disabled: 389.173700 +/- 23.658035
patched enabled:  394.333200 +/- 25.813393

Kernbench results:
pristine:          70.317500 +/- 0.210833
patched, disabled: 70.860000 +/- 0.179292
patched, enabled:  70.346500 +/- 0.184784

Reaim results:
pristine:
        Nclients      Mean         95% CI
           1     106080.000000  11327.896029
           3     236057.142000  18205.544810
           5     247867.136000  23536.800062
           7     265370.000000  21284.335743
           9     262969.936000  18225.497529
          11     278256.000000  6230.342816
          13     284288.016000  8924.589388
          15     286987.170000  7881.034658

patched, disabled:
        Nclients      Mean         95% CI
           1     105400.000000  8739.978241
           3     229500.000000  0.000000
           5     252325.176667  16685.663423
           7     265125.000000  6747.777319
           9     271258.645000  11715.635212
          11     280662.608333  7775.229351
          13     277719.706667  8173.390359
          15     278515.421667  10963.211450

patched, enabled:
        Nclients      Mean         95% CI
           1     102000.000000  0.000000
           3     224400.000000  14159.870036
           5     242963.288000  40529.490781
           7     255150.000000  8745.802081
           9     270154.284000  8918.863136
          11     283134.260000  12239.361252
          13     288497.540000  11336.550964
          15     280022.728000  8804.882369


^ permalink raw reply	[flat|nested] 50+ messages in thread

end of thread, other threads:[~2006-04-27 12:34 UTC | newest]

Thread overview: 50+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2006-04-07 18:36 [RFC][PATCH 0/5] uts namespaces: Introduction Serge E. Hallyn
2006-04-07 18:36 ` [RFC][PATCH 5/5] uts namespaces: Enable UTS namespaces debugging Serge E. Hallyn
2006-04-07 18:36 ` [RFC][PATCH 2/5] uts namespaces: Switch to using uts namespaces Serge E. Hallyn
2006-04-07 19:17   ` Sam Ravnborg
2006-04-07 19:25     ` Serge E. Hallyn
2006-04-11 12:26   ` Kirill Korotaev
2006-04-11 21:04     ` Sam Vilain
2006-04-12  5:01       ` Serge E. Hallyn
2006-04-12  6:00         ` Eric W. Biederman
2006-04-19 15:00           ` Serge E. Hallyn
2006-04-07 18:36 ` [RFC][PATCH 3/5] uts namespaces: Use init uts_namespace when appropriate Serge E. Hallyn
2006-04-07 18:36 ` [RFC][PATCH 4/5] utsname namespaces: sysctl hack Serge E. Hallyn
2006-04-19 15:17   ` Kirill Korotaev
2006-04-19 15:21     ` Serge E. Hallyn
2006-04-19 15:50       ` Kirill Korotaev
2006-04-19 16:54         ` Cedric Le Goater
2006-04-19 17:10           ` Eric W. Biederman
2006-04-19 17:10         ` Serge E. Hallyn
2006-04-19 15:52       ` Eric W. Biederman
2006-04-19 16:23         ` Dave Hansen
2006-04-19 16:52           ` Eric W. Biederman
2006-04-19 17:19             ` Dave Hansen
2006-04-19 17:37               ` Eric W. Biederman
2006-04-19 17:48               ` Eric W. Biederman
2006-04-19 15:29     ` Eric W. Biederman
2006-04-19 17:51       ` Serge E. Hallyn
2006-04-19 18:27         ` Eric W. Biederman
2006-04-19 20:24           ` Serge E. Hallyn
2006-04-19 21:44           ` Sam Vilain
2006-04-20 17:05             ` Serge E. Hallyn
2006-04-25 22:00             ` Serge E. Hallyn
2006-04-26  4:09               ` Sam Vilain
2006-04-26 10:28                 ` Christoph Hellwig
2006-04-27 12:32                 ` Eric W. Biederman
2006-04-07 18:36 ` [RFC][PATCH 1/5] uts namespaces: Implement utsname namespaces Serge E. Hallyn
2006-04-07 19:13   ` Sam Ravnborg
2006-04-07 19:20     ` Serge E. Hallyn
2006-04-07 19:39     ` Serge E. Hallyn
2006-04-07 20:47   ` James Morris
2006-04-07 22:13     ` Serge E. Hallyn
2006-04-08 13:44   ` Andi Kleen
2006-04-08 13:45   ` Andi Kleen
2006-04-08 20:28     ` Serge E. Hallyn
2006-04-09  6:00       ` Andi Kleen
2006-04-09 19:08         ` Eric W. Biederman
2006-04-07 19:06 ` [RFC][PATCH 0/5] uts namespaces: Introduction Eric W. Biederman
2006-04-07 19:28   ` Serge E. Hallyn
2006-04-07 19:39     ` Eric W. Biederman
2006-04-11 12:32 ` Kirill Korotaev
2006-04-11 14:01   ` Serge E. Hallyn

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).