From: Paul Jackson <pj@sgi.com>
To: Christoph Lameter <clameter@sgi.com>
Cc: Lee.Schermerhorn@hp.com, rientjes@google.com,
akpm@linux-foundation.org, ak@suse.de,
linux-kernel@vger.kernel.org
Subject: Re: [patch 1/4] mempolicy: convert MPOL constants to enum
Date: Tue, 12 Feb 2008 19:28:36 -0600 [thread overview]
Message-ID: <20080212192836.a8500902.pj@sgi.com> (raw)
In-Reply-To: <Pine.LNX.4.64.0802121702431.11628@schroedinger.engr.sgi.com>
Christoph wrote:
> We usually do that with unsigned XXX and constants. You may want to check
> multiple flags at once or do other fancy things.
Both are common in the kernel. I see 241 ":1" bit fields in include/linux/*.h.
One can do Boolean expressions with either form, bitfields or defines.
For example:
struct {
int foo:1;
int goo:1;
} x;
if (x.foo && ! x.goo)
blah blah ...;
Doing (x.flags & FLAG_FOO) is simple enough, but it is still
not as simple as (x.foo). Where possible, I encourage keeping
extraneous detail out of mainline code.
Sometimes, such as in task struct flags, one has to do such Boolean
combinations in performance critical code paths, and then one must do
what one must do, with the defined constants.
Sometimes, such as with the GFP_* flags, one has to name various
combinations, and then one needs again to use defined constants.
I see no evidence that either of those situations applies here.
--
I won't rest till it's the best ...
Programmer, Linux Scalability
Paul Jackson <pj@sgi.com> 1.940.382.4214
next prev parent reply other threads:[~2008-02-13 1:28 UTC|newest]
Thread overview: 78+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-02-11 15:30 David Rientjes
2008-02-11 15:30 ` [patch 2/4] mempolicy: support optional mode flags David Rientjes
2008-02-11 15:30 ` [patch 3/4] mempolicy: add MPOL_F_STATIC_NODES flag David Rientjes
2008-02-11 15:30 ` [patch 4/4] mempolicy: update NUMA memory policy documentation David Rientjes
2008-02-11 16:10 ` Randy Dunlap
2008-02-11 20:06 ` [patch 4/4 v2] " David Rientjes
2008-02-11 20:14 ` Randy Dunlap
2008-02-11 18:25 ` [patch 3/4] mempolicy: add MPOL_F_STATIC_NODES flag KOSAKI Motohiro
2008-02-11 19:56 ` David Rientjes
2008-02-13 0:25 ` Lee Schermerhorn
2008-02-13 0:57 ` David Rientjes
2008-02-11 19:34 ` Christoph Lameter
2008-02-13 0:22 ` Lee Schermerhorn
2008-02-13 3:52 ` Paul Jackson
2008-02-13 4:03 ` David Rientjes
2008-02-13 4:13 ` Paul Jackson
2008-02-13 4:23 ` David Rientjes
2008-02-13 8:03 ` Paul Jackson
2008-02-13 9:36 ` David Rientjes
2008-02-13 16:01 ` Lee Schermerhorn
2008-02-13 18:48 ` David Rientjes
2008-02-13 18:58 ` Paul Jackson
2008-02-13 19:05 ` Lee Schermerhorn
2008-02-13 19:17 ` David Rientjes
2008-02-13 17:04 ` Paul Jackson
2008-02-13 19:02 ` David Rientjes
2008-02-13 20:29 ` Paul Jackson
2008-02-13 21:35 ` David Rientjes
2008-02-14 11:12 ` Paul Jackson
2008-02-14 12:27 ` Paul Jackson
2008-02-14 10:26 ` Paul Jackson
2008-02-14 19:45 ` David Rientjes
2008-02-15 10:19 ` Paul Jackson
2008-02-15 20:14 ` David Rientjes
2008-02-13 4:18 ` David Rientjes
2008-02-13 5:06 ` David Rientjes
2008-02-13 15:15 ` Lee Schermerhorn
2008-02-13 16:14 ` Lee Schermerhorn
2008-02-13 19:12 ` David Rientjes
2008-02-14 10:09 ` Paul Jackson
2008-02-14 19:40 ` David Rientjes
2008-02-15 1:44 ` David Rientjes
2008-02-15 10:00 ` Paul Jackson
2008-02-14 21:38 ` David Rientjes
2008-02-15 9:27 ` Paul Jackson
2008-02-15 20:23 ` David Rientjes
2008-02-15 20:32 ` David Rientjes
2008-02-15 23:45 ` Paul Jackson
2008-02-15 23:55 ` David Rientjes
2008-02-16 0:11 ` Paul Jackson
2008-02-11 16:36 ` [patch 2/4] mempolicy: support optional mode flags Lee Schermerhorn
2008-02-11 19:34 ` David Rientjes
2008-02-12 15:31 ` Lee Schermerhorn
2008-02-12 19:14 ` David Rientjes
2008-02-11 20:55 ` Paul Jackson
2008-02-11 21:52 ` David Rientjes
2008-02-11 21:57 ` Paul Jackson
2008-02-13 0:14 ` Lee Schermerhorn
2008-02-13 0:25 ` David Rientjes
2008-02-11 18:45 ` [patch 1/4] mempolicy: convert MPOL constants to enum Andi Kleen
2008-02-11 19:25 ` David Rientjes
2008-02-11 19:32 ` Christoph Lameter
2008-02-11 19:40 ` David Rientjes
2008-02-11 19:48 ` Christoph Lameter
2008-02-11 20:02 ` David Rientjes
2008-02-11 20:45 ` Christoph Lameter
2008-02-13 0:10 ` Lee Schermerhorn
2008-02-13 0:31 ` Paul Jackson
2008-02-13 0:53 ` David Rientjes
2008-02-13 1:04 ` Christoph Lameter
2008-02-13 1:28 ` Paul Jackson [this message]
2008-02-13 1:32 ` Paul Jackson
2008-02-13 2:00 ` David Rientjes
2008-02-13 2:22 ` Paul Jackson
2008-02-13 2:42 ` David Rientjes
2008-02-13 2:59 ` Paul Jackson
2008-02-13 3:17 ` David Rientjes
2008-02-13 3:22 ` 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=20080212192836.a8500902.pj@sgi.com \
--to=pj@sgi.com \
--cc=Lee.Schermerhorn@hp.com \
--cc=ak@suse.de \
--cc=akpm@linux-foundation.org \
--cc=clameter@sgi.com \
--cc=linux-kernel@vger.kernel.org \
--cc=rientjes@google.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
Powered by JetHome