public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Paul Jackson <pj@sgi.com>
To: Mike Travis <travis@sgi.com>
Cc: mingo@elte.hu, tglx@linutronix.de, hpa@zytor.com,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH 0/3] x86: add cpuset_scnprintf function
Date: Wed, 2 Apr 2008 01:20:06 -0500	[thread overview]
Message-ID: <20080402012006.1722c2bd.pj@sgi.com> (raw)
In-Reply-To: <20080401225422.064890000@polaris-admin.engr.sgi.com>

Hmmm ... my apologies, Mike, if I overlooked some earlier discussion
of this patchset on one of the other more limited email threads that
we share ... however a couple of aspects of this patchset don't fit
so well for me.
 1) I'm surprised to see this new routine called 'cpuset_scnprintf'
    (with the "cpuset" prefix), rather than a variant of a trio of
    names with prefixes of bitmap_, cpumask_, and nodemask_, like
    the other print routines in the bitmap family.  This doesn't
    seem to be a cpuset function to me, but a bitmap (and derived
    types cpumask and nodemask) printing function.
 2) The idea of the patch, that being a kernel modal flag that if
    set, changes a few particular details of the kernel API for all,
    seems like something I'd rarely want to do, unless I was really
    short of other options.  It leads to one app breaking another
    as a result of changing this mode, and to head butting between
    apps which cannot agree on how to set the mode.  And it introduces
    the option of breaking an existing API, which is seldom a good
    option.

I tried reading the opening "discussion that led up" comments you
posted, but couldn't find any overwhelming problem that had to be
solved of sufficient magnitude and quandry of sufficient difficulty
to justify the API conflicts and breakage in (2) above.  I did find
this comment, apparently by Bert Wesarg (though that's not clear
from your presentation):

>  If you change the format, the brown-paper-bag is yours.

I don't see a compelling response to the above comment.

Granted, what you've done isn't outright changing the format.  Rather it
is handing user space a means to change the format system-wide.

However doing this is worse in my view than simply breaking the format
outright, unilaterally and irrevocably.  If you just flat out stick a
fork in an API and break it hard on some release, then at least user
space knows that it must adapt or die at that version.  If you hand
user space the means to break that API, then any properly and
defensively written user code has to be prepared to deal with both API
flavors, and the majority of user space code is broken half the time,
when run on a system with the API variant it wasn't expecting.  More
over, you end up with apps having "toilet seat wars" with each other:
you left it up and it should be down; no you left it down and it should
be up.  Not a pretty sight.

Perhaps I totally misunderstand this patchset ?

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

  parent reply	other threads:[~2008-04-02  6:20 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-04-01 22:54 [PATCH 0/3] x86: add cpuset_scnprintf function Mike Travis
2008-04-01 22:54 ` [PATCH 1/3] " Mike Travis
2008-04-01 22:54 ` [PATCH 2/3] x86: modify show_shared_cpu_map in intel_cacheinfo Mike Travis
2008-04-01 22:54 ` [PATCH 3/3] cpumask: use new cpuset_scnprintf function Mike Travis
2008-04-02  6:20 ` Paul Jackson [this message]
2008-04-02  7:47   ` [PATCH 0/3] x86: add " Mike Travis
2008-04-02 10:39     ` Paul Jackson
2008-04-02 14:36   ` Mike Travis
2008-04-02 15:28     ` 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=20080402012006.1722c2bd.pj@sgi.com \
    --to=pj@sgi.com \
    --cc=hpa@zytor.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@elte.hu \
    --cc=tglx@linutronix.de \
    --cc=travis@sgi.com \
    /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