From: Mike Travis <travis@sgi.com>
To: Paul Jackson <pj@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, 02 Apr 2008 07:36:30 -0700 [thread overview]
Message-ID: <47F399EE.4080704@sgi.com> (raw)
In-Reply-To: <20080402012006.1722c2bd.pj@sgi.com>
Paul Jackson wrote:
...
> 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.
How about "cpus_scnprintf" to avoid confusion with "cpusets"?
> 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 could preface the cpulist_scnprintf output with '+' so a user app
could then:
if (buf[0] == '+')
bitmask_parselist(&buf[1], ...)
else
bitmask_parsehex(buf, ...)
or the perl equivalent which is probably more prevalent.
[I'll put this into the Documentation for compat_cpus_scnprintf...]
Does this sufficiently satisfy your concerns? It stays compatible with
the current method, but provides an avenue for future growth...?
> Kernel API's visible to kernel drivers or loadable modules have a
> higher barrier to change.
> Kernel API's visible to user space, such as this one, have a much
> higher barrier to incompatible change.
But where is the API spec for /proc outputs? I'd like to see how others
have managed to change it in the past, and what are the rules for doing so.
> I hesitate to NAQ patches because I strike out more often than someone
> like Al Viro. But I'm getting tempted on this one.
>
> Perhaps you could write yourself a user utility that scanned its input
> for masks in legacy format, converted them to list format, and passed
> all else unscathed?
Or write a utility to convert the more compact readable format into the
incomprehensible one and output that ... ? ;-)
Thanks,
Mike
next prev parent reply other threads:[~2008-04-02 14:36 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 ` [PATCH 0/3] x86: add " Paul Jackson
2008-04-02 7:47 ` Mike Travis
2008-04-02 10:39 ` Paul Jackson
2008-04-02 14:36 ` Mike Travis [this message]
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=47F399EE.4080704@sgi.com \
--to=travis@sgi.com \
--cc=hpa@zytor.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@elte.hu \
--cc=pj@sgi.com \
--cc=tglx@linutronix.de \
/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