public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Paul Jackson <pj@sgi.com>
To: "Paul Menage" <menage@google.com>
Cc: rientjes@google.com, akpm@linux-foundation.org,
	nickpiggin@yahoo.com.au, a.p.zijlstra@chello.nl,
	serue@us.ibm.com, clg@fr.ibm.com, linux-kernel@vger.kernel.org,
	ebiederm@xmission.com, svaidy@linux.vnet.ibm.com,
	xemul@openvz.org, containers@lists.osdl.org,
	balbir@linux.vnet.ibm.com
Subject: Re: [PATCH] task containersv11 add tasks file interface fix for cpusets
Date: Thu, 11 Oct 2007 15:03:15 -0700	[thread overview]
Message-ID: <20071011150315.78c4f45f.pj@sgi.com> (raw)
In-Reply-To: <6599ad830710061409p2dcaa1c8u8c6864beaaafb149@mail.gmail.com>

Several days ago, Paul M replied to Paul J:
> > Hmmm ... guess I'd have to loop over the cgroup twice, once to count
> > them (the 'count' field is not claimed to be accurate) and then again,
> > after I've kmalloc'd the tasks[] array, filling in the tasks[] array.
> >
> > On a big cgroup on a big system, this could easily be thousands of
> > iteration loops.
> 
> But if userspace has to do it, the effect will be far more expensive.

Ah - but I'm not trying to optimize this particular operation (changing
a cpusets 'cpus').  It's not at all performance critical.

I'm trying to minimize the amount of special purpose code in the
kernel.

The maintenance costs of a line of kernel code are quite a bit higher
than for a line of user code.  I work hard to have most of my lines of
kernel code be on well traveled code paths, of general usefulness, even
if this means that some infrequent operations require yet more user
source code lines and user CPU cycles, in order to be refactored as the
combination of multiple system call primitives.

... all within reasonable limits, of course.

Corner case, special situation, non-trivial chunks of kernel code are
very expensive.  They don't get very good testing coverage in the
real world, and end up harboring latent bugs for months or years,
by which time it can be expensive to deal with them.

Be that as it may, I've just started digesting the actual code
suggestions posted by yourself and David (thanks!) this last week.
I just couldn't resist a bit of philosophizing ... sorry.

-- 
                  I won't rest till it's the best ...
                  Programmer, Linux Scalability
                  Paul Jackson <pj@sgi.com> 1.925.600.0401

  parent reply	other threads:[~2007-10-11 22:03 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-10-03  8:42 [PATCH] task containersv11 add tasks file interface fix for cpusets Paul Jackson
2007-10-03 15:51 ` Paul Menage
2007-10-03 17:58   ` Paul Jackson
2007-10-03 18:10     ` Paul Menage
2007-10-03 18:25       ` Paul Menage
2007-10-03 20:16       ` Paul Jackson
2007-10-03 20:31         ` Paul Menage
2007-10-03 20:52           ` Paul Jackson
2007-10-03 20:58             ` Paul Menage
2007-10-06  8:24           ` Paul Jackson
2007-10-06 17:54             ` David Rientjes
2007-10-06 19:59               ` Paul Jackson
2007-10-06 21:09                 ` Paul Menage
2007-10-06 21:41                   ` Paul Jackson
2007-10-11 22:03                   ` Paul Jackson [this message]
2007-10-11 23:20                     ` Eric W. Biederman
2007-10-12  1:23                       ` Paul Jackson
2007-10-07  6:13                 ` David Rientjes
2007-10-06 21:11               ` Paul Menage
2007-10-07  6:15                 ` David Rientjes
2007-10-10 20:46                   ` Paul Menage
2007-10-10 20:59                     ` David Rientjes
2007-10-11 23:15                       ` Paul Jackson
2007-10-12 15:13                         ` David Rientjes
2007-10-06 20:53             ` Paul Menage
2007-10-03 20:56 ` Paul Jackson

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=20071011150315.78c4f45f.pj@sgi.com \
    --to=pj@sgi.com \
    --cc=a.p.zijlstra@chello.nl \
    --cc=akpm@linux-foundation.org \
    --cc=balbir@linux.vnet.ibm.com \
    --cc=clg@fr.ibm.com \
    --cc=containers@lists.osdl.org \
    --cc=ebiederm@xmission.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=menage@google.com \
    --cc=nickpiggin@yahoo.com.au \
    --cc=rientjes@google.com \
    --cc=serue@us.ibm.com \
    --cc=svaidy@linux.vnet.ibm.com \
    --cc=xemul@openvz.org \
    /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