From: Paul Jackson <pj@sgi.com>
To: joe.korty@ccur.com
Cc: linux-kernel@vger.kernel.org, colpatch@us.ibm.com, akpm@osdl.org,
paulus@samba.org
Subject: Re: [PATCH] bitmap parsing routines, version 3
Date: Sat, 17 Jan 2004 15:33:44 -0800 [thread overview]
Message-ID: <20040117153344.1072ae7c.pj@sgi.com> (raw)
In-Reply-To: <20040117153615.GA16385@tsunami.ccur.com>
> On reflection, I reverse my position -- this should really be done in
> bitmap_clear et all as an attribute of bitmaps in general,
You're right. Good point.
Having the various bitop routines cease treating the unused high bits as
a garbage dump is a separate task. I don't like the way it is, as it
seems to open the door for some random bugs, in case some hapless code
is depending on these high bits in ways it shouldn't.
This whole mechanism seems to have a design confusion - whether to
specify and honor a specific bit count, or not.
My preference would have been to have these masks be officially some
multiple of "unsigned long" words; but instead we have ended up with a
data type that is ill-defined. Sometimes it honors bit counts, and
sometimes it doesn't. Some calls take a bit count (and may or may not
behave predictably in handling the high bits in the last word above the
count); some don't even admit of a bit count argument. In some ways, it
is supposed to be just a hidden internal implementation detail that
these masks are an array of unsigned longs. But some ops leave garbage
in the "unused" high bits, and some ops react to these high bits.
As one example, the CPU_MASK_ALL initializer (the cpumask_t type sits on
these masks) sets exactly NR_CPUS bits on small systems, but some
multiple of 8*sizeof(unsigned long) bits on large systems (masks more
than one word).
We're cruising for a bruising; but I lack the clarity of vision and
energy to remedy the situation.
--
I won't rest till it's the best ...
Programmer, Linux Scalability
Paul Jackson <pj@sgi.com> 1.650.933.1373
next prev parent reply other threads:[~2004-01-17 23:34 UTC|newest]
Thread overview: 56+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-01-07 16:56 seperator error in __mask_snprintf_len Joe Korty
2004-01-07 19:32 ` Andrew Morton
2004-01-08 13:11 ` Paul Jackson
2004-01-08 22:50 ` Paul Mackerras
2004-01-08 22:59 ` Joe Korty
2004-01-09 0:07 ` Paul Mackerras
2004-01-09 1:11 ` Paul Jackson
2004-01-14 23:03 ` Paul Jackson
2004-01-15 0:27 ` Joe Korty
2004-01-15 0:37 ` Paul Jackson
2004-01-15 4:40 ` Paul Jackson
2004-01-15 16:15 ` Andrew Morton
2004-01-15 18:15 ` Joe Korty
2004-01-16 0:17 ` Paul Jackson
2004-01-16 0:48 ` Joe Korty
2004-01-16 1:48 ` Paul Jackson
2004-01-16 23:29 ` Matthew Dobson
2004-01-17 6:36 ` [PATCH] bitmap parsing routines, version 3 Joe Korty
2004-01-17 10:08 ` Paul Jackson
[not found] ` <20040117145545.GA16318@tsunami.ccur.com>
2004-01-17 15:36 ` Joe Korty
2004-01-17 23:33 ` Paul Jackson [this message]
2004-01-18 5:52 ` William Lee Irwin III
2004-01-18 7:03 ` Paul Jackson
2004-01-17 18:39 ` [PATCH] bitmap parsing/printing routines, version 4 Joe Korty
2004-01-17 23:36 ` Paul Jackson
2004-01-19 21:17 ` Matthew Dobson
2004-01-20 0:17 ` Paul Jackson
2004-01-20 3:57 ` Joe Korty
2004-01-20 4:15 ` Paul Jackson
2004-01-20 5:41 ` Randy Dunlap
2004-01-20 7:03 ` Matthew Dobson
2004-01-20 15:36 ` Joe Korty
2004-01-20 17:06 ` Matthew Dobson
2004-01-17 9:12 ` seperator error in __mask_snprintf_len Paul Jackson
2004-01-16 5:14 ` Paul Jackson
2004-01-16 5:26 ` Andrew Morton
2004-01-16 5:52 ` William Lee Irwin III
2004-01-16 14:23 ` Joe Korty
2004-01-17 10:07 ` Paul Jackson
2004-01-15 22:53 ` Paul Jackson
2004-01-16 1:06 ` Andrew Morton
2004-01-16 2:54 ` Paul Jackson
2004-01-09 14:28 ` Paul Jackson
2004-01-09 14:46 ` Paul Jackson
2004-01-09 15:14 ` Andreas Schwab
2004-01-09 15:25 ` Christoph Hellwig
2004-01-09 17:23 ` Paul Jackson
2004-01-12 0:09 ` Joe Korty
2004-01-12 21:41 ` Paul Jackson
2004-01-12 22:00 ` Joe Korty
2004-01-12 22:28 ` Paul Jackson
2004-01-12 22:39 ` Joe Korty
2004-01-09 14:57 ` Paul Jackson
2004-01-08 1:06 ` Paul Jackson
2004-01-08 3:32 ` Joe Korty
2004-01-08 10:39 ` 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=20040117153344.1072ae7c.pj@sgi.com \
--to=pj@sgi.com \
--cc=akpm@osdl.org \
--cc=colpatch@us.ibm.com \
--cc=joe.korty@ccur.com \
--cc=linux-kernel@vger.kernel.org \
--cc=paulus@samba.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.