mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Joe Korty <l-k@mindspring.com>
To: <mingo@elte.hu>, Robert Love <rml@tech9.net>
Cc: Ryan Cumming <bodnar42@phalynx.dhs.org>,
	linux-kernel <linux-kernel@vger.kernel.org>
Subject: procfs bloat, syscall bloat [in reference to cpu affinity]
Date: Tue, 27 Nov 2001 03:04:27 -0500	[thread overview]
Message-ID: <5.0.2.1.2.20011127022738.009f14b0@pop.mindspring.com> (raw)
In-Reply-To: <Pine.LNX.4.33.0111270930470.3061-100000@localhost.localdom ain>
In-Reply-To: <1006832357.1385.3.camel@icbm>

An argument  of `it's bloat, don't do it!' against the addition of a new 
system call (or a new
procfs entry) is somewhat meaningless, as `bloat' is a word so broad and 
ill-defined that
applying it as an argument has the potential of stopping useful 
enhancements to the Linux
user interface, or preventing the best possible user interface from being 
implemented
at the outset.  If one is going to be concerned about bloat (as I am and as 
almost everyone
should be), one needs another yardstick to apply, one that can illuminate 
those proposals
which are Good (and hence non-bloating) and those which are Crud (and hence 
can be
safely condemned for the crime of bloat).

The yardstick I would like to apply here is: is the user's view of the new 
service something
that is simple and fundamental, unlikely to change as Linux moves from 
platform to platform
and evolves over time, or is it something quirky, tied to the current 
implementation and
exposes its complexities to the user in ways that the interface is 
guaranteed to change
as Linux evolves?  Examples of the first type of interface are read(2), 
write(2), open(2),
memcopy(3), cos(3).  These have been with us from the beginning of time and 
no one
imagines them going away or changing in any fundamental way.  On the other 
hand, the
IDE driver tuneables would be an example of the quirky second kind -- this 
interface
will change as new IDE controller chips become available, and have few (if 
any) connection
with, say, any equivalent SCSI tuneables, yet both control similiar kinds 
of devices.

So my rule is, services of the first kind, the ones that are simple and 
eternal, should be
system calls, while the quirky second kind should be consigned soley to the 
proc fs.

I feel that the cpu affinity services are of the first kind.  They are very 
simple, very
conceptual services that have absolutely no tie in to any architecture 
other than it
be SMP, and even on uniprocessors they reduce down gracefully to the null 
state.  Once
defined, if defined well, they have the potential of lasting forever much 
like pipe(2) etc
does today.  Part of what I see that makes affinity as being `eternal' is 
that there is
nothing about the user view of affinity that is even Linux specific -- one 
could see other unices having exactly the same services with exactly the 
same semantics, and perhaps
even radically different OSes such as NT easily supporting identical, or 
nearly identical
affinity services.  It is this universality that makes cpu affinity 
services likely syscall
candidates.

I am not against a proc interface per se, I would like a proc interface, 
especially for the
reading of affinity values.  But in my view the system call interface 
should also exist
and it should be the dominate way of communicating affinity to processes.

Joe


  parent reply	other threads:[~2001-11-27  8:06 UTC|newest]

Thread overview: 37+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2001-11-22  8:59 [patch] sched_[set|get]_affinity() syscall, 2.4.15-pre9 Ingo Molnar
2001-11-22 20:22 ` Davide Libenzi
2001-11-22 23:45 ` Robert Love
2001-11-23  0:20   ` Ryan Cumming
2001-11-23  0:36     ` Mark Hahn
2001-11-23 11:46       ` Ingo Molnar
2001-11-24 22:44         ` Davide Libenzi
2001-11-23 11:36     ` Ingo Molnar
2001-11-24  2:01       ` Davide Libenzi
2001-11-23  0:51   ` Robert Love
2001-11-23  1:11     ` Andreas Dilger
2001-11-23  1:16     ` Robert Love
2001-11-23 11:02   ` Ingo Molnar
2001-11-27  3:39   ` Robert Love
2001-11-27  7:13     ` Joe Korty
2001-11-27  8:04     ` Joe Korty [this message]
2001-11-27 11:32       ` procfs bloat, syscall bloat [in reference to cpu affinity] Ingo Molnar
2001-11-27 20:56         ` Robert Love
2001-11-27 14:04       ` Phil Howard
2001-11-27 18:05         ` Tim Hockin
2001-11-27  8:40     ` [patch] sched_[set|get]_affinity() syscall, 2.4.15-pre9 Ingo Molnar
2001-11-27 20:53     ` Robert Love
2001-11-27 21:31       ` Nathan Dabney
2001-11-27  4:41   ` a nohup-like interface to cpu affinity Linux maillist account
2001-11-27  6:50     ` Linux maillist account
2001-11-27  8:26     ` Ingo Molnar
2001-11-27  4:49   ` Robert Love
2001-11-27  6:32   ` Linux maillist account
2001-12-06  1:35     ` Matthew Dobson
2001-12-06  1:37     ` [RFC][PATCH] cpus_allowed/launch_policy patch, 2.4.16 Matthew Dobson
2001-12-06  2:08       ` Davide Libenzi
2001-12-06  2:17         ` Matthew Dobson
2001-12-06  2:39           ` Davide Libenzi
2001-12-06  2:42         ` Robert Love
2001-12-06 22:21           ` Matthew Dobson
2001-11-27  6:39   ` a nohup-like interface to cpu affinity Robert Love
2001-11-27  8:42     ` Sean Hunter

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=5.0.2.1.2.20011127022738.009f14b0@pop.mindspring.com \
    --to=l-k@mindspring.com \
    --cc=bodnar42@phalynx.dhs.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@elte.hu \
    --cc=rml@tech9.net \
    /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

all inboxes | Powered by JetHome®