From: Paul Jackson <pj@sgi.com>
To: Paul Jackson <pj@sgi.com>
Cc: rusty@rustcorp.com.au, linux-kernel@vger.kernel.org,
mbligh@aracnet.com, akpm@osdl.org, wli@holomorphy.com,
haveblue@us.ibm.com, colpatch@us.ibm.com
Subject: Re: [PATCH] mask ADT: new mask.h file [2/22]
Date: Mon, 5 Apr 2004 00:46:46 -0700 [thread overview]
Message-ID: <20040405004646.146ae51c.pj@sgi.com> (raw)
In-Reply-To: <20040405000528.513a4af8.pj@sgi.com>
In my previous reply to Rusty, I wrote:
> struct cpumap { DECLARE_BITMAP(bits, NR_CPUS); };
> struct cpumask s, d1, d2;
> bitmap_or(s.bits, d1.bits, d2.bits);
Brain dead code alert (as well as a typo alert for the 'cpumap') - that
last line needs to be:
bitmap_or(s.bits, d1.bits, d2.bits, NR_CPUS);
Which is why the 60 odd cpumask and nodemask specific operation macros
exist, to avoid having to explicitly specify the bitsize on each call
In other words, I understand that the following three possibilities
exist for coding these masks:
/* specify bitsize both on declarations and operations */
struct cpumask { DECLARE_BITMAP(bits, NR_CPUS); };
struct cpumask s, d1, d2;
bitmap_or(s.bits, d1.bits, d2.bits, NR_CPUS); /* explicit bitsize */
or:
/* specify bitsize on declaration; use specialized operations */
struct cpumask { DECLARE_BITMAP(bits, NR_CPUS); };
struct cpumask s, d1, d2;
cpus_or(s.bits, d1.bits, d2.bits); /* 'cpu' implies NR_CPUS */
or:
/* carry the bitsize in the structure [pseudo C alert] */
struct mask { int nbits = NR_CPUS; DECLARE_BITMAP(bits, NR_CPUS); };
struct mask s, d1, d2;
mask_or(s.bits, d1.bits, d2.bits); /* mask_* ops get size from struct */
Am I missing any choices? Which do you prefer?
I understand that the kernel currently does the 2nd choice, encoding the
bitsize in the operation name.
My personal preference is to continue doing this 2nd choice.
--
I won't rest till it's the best ...
Programmer, Linux Scalability
Paul Jackson <pj@sgi.com> 1.650.933.1373
prev parent reply other threads:[~2004-04-05 7:48 UTC|newest]
Thread overview: 47+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-03-29 12:12 [PATCH] mask ADT: new mask.h file [2/22] Paul Jackson
2004-03-30 0:30 ` Matthew Dobson
2004-03-30 0:27 ` Paul Jackson
2004-03-30 1:56 ` Matthew Dobson
2004-03-30 0:47 ` Paul Jackson
2004-03-30 1:53 ` Matthew Dobson
2004-03-30 2:06 ` William Lee Irwin III
2004-03-30 1:31 ` Paul Jackson
2004-03-30 1:27 ` William Lee Irwin III
2004-03-30 1:27 ` Paul Jackson
2004-03-30 6:38 ` William Lee Irwin III
2004-03-30 8:45 ` Paul Jackson
2004-03-30 10:19 ` William Lee Irwin III
2004-03-31 0:16 ` Ray Bryant
2004-03-31 0:14 ` Jesse Barnes
2004-03-30 2:07 ` William Lee Irwin III
2004-04-01 0:38 ` Matthew Dobson
2004-04-01 0:58 ` Paul Jackson
2004-04-01 1:11 ` Matthew Dobson
2004-04-01 1:18 ` Paul Jackson
2004-04-01 1:27 ` Andrew Morton
2004-04-01 1:35 ` Paul Jackson
2004-04-05 1:26 ` Rusty Russell
2004-04-05 7:05 ` Paul Jackson
2004-04-05 7:42 ` Rusty Russell
2004-04-05 8:08 ` Paul Jackson
2004-04-06 4:59 ` Rusty Russell
2004-04-06 6:06 ` Paul Jackson
2004-04-06 6:23 ` Nick Piggin
2004-04-06 6:34 ` Paul Jackson
2004-04-06 6:49 ` Nick Piggin
2004-04-06 6:59 ` Paul Jackson
2004-04-06 7:08 ` Paul Jackson
2004-04-06 7:03 ` William Lee Irwin III
2004-04-06 7:33 ` Paul Jackson
2004-04-06 6:39 ` Rusty Russell
2004-04-06 6:45 ` Paul Jackson
2004-04-06 7:24 ` Rusty Russell
2004-04-06 7:34 ` Paul Jackson
2004-04-06 10:40 ` Paul Jackson
2004-04-07 0:02 ` Rusty Russell
2004-04-07 1:49 ` Paul Jackson
2004-04-07 3:55 ` Paul Jackson
2004-04-06 6:55 ` Nick Piggin
2004-04-06 7:34 ` Paul Jackson
2004-04-06 7:02 ` Paul Jackson
2004-04-05 7:46 ` Paul Jackson [this message]
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=20040405004646.146ae51c.pj@sgi.com \
--to=pj@sgi.com \
--cc=akpm@osdl.org \
--cc=colpatch@us.ibm.com \
--cc=haveblue@us.ibm.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mbligh@aracnet.com \
--cc=rusty@rustcorp.com.au \
--cc=wli@holomorphy.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 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.