From: Paul Jackson <pj@sgi.com>
To: Paul Jackson <pj@sgi.com>
Cc: vda@port.imtp.ilyichevsk.odessa.ua, colpatch@us.ibm.com,
wli@holomorphy.com, linux-kernel@vger.kernel.org
Subject: Re: [Patch 17/23] mask v2 = [6/7] nodemask_t_ia64_changes
Date: Wed, 7 Apr 2004 04:27:54 -0700 [thread overview]
Message-ID: <20040407042754.6b487ace.pj@sgi.com> (raw)
In-Reply-To: <20040406235000.6c06af9a.pj@sgi.com>
A few hours ago, I sketched the following code:
> for (
> ({ i = 0; while(!node_set(i, mask) && i < MAX_NUMNODES) i++; i; });
> i < MAX_NUMNODES;
> ({ i++; while(!node_set(i, mask) && i < MAX_NUMNODES) i++; i; })
> )
I've reduced this to a pair of bitmap.h operators:
> #define find_next_bit_in_bitmap(src, nbits, n) \
> ({ int i = (n); while(i < (nbits) && !test_bit(i, (src))) i++; i; })
>
> #define find_first_bit_in_bitmap(src, nbits) \
> find_next_bit_in_bitmap((src), (nbits), 0)
which are plug compatible with bitops find_first_bit() and find_next_bit(),
but smaller. These alternatives can then be used in the for-loop defines.
The above is not yet compiled or tested ... Use at own risk.
My next mask patchset will have these. Following the excellent
recommendations of Rusty however, my next mask patchset won't have
masks ;). Just cpumasks bolted directly on top of souped up bitmaps.
--
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-04-07 11:31 UTC|newest]
Thread overview: 49+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-04-01 20:28 [Patch 0/23] mask v2 - Second version of mask, cpumask and nodemask consolidation Paul Jackson
2004-04-01 21:10 ` [Patch 1/23] mask v2 - Document bitmap.c bit model Paul Jackson
2004-04-01 21:10 ` [Patch 2/23] mask v2 - Tighten unused bitmap bit handling Paul Jackson
2004-04-01 21:11 ` [Patch 3/23] mask v2 - New bitmap operators Paul Jackson
2004-04-01 21:11 ` [Patch 4/23] mask v2 - two missing 'const' qualifiers Paul Jackson
2004-04-01 21:11 ` [Patch 5/23] mask v2 - Add new mask.h file Paul Jackson
2004-04-02 20:26 ` Matthew Dobson
2004-04-03 5:12 ` Paul Jackson
2004-04-01 21:11 ` [Patch 6/23] mask v2 - Replace cpumask_t with one using mask Paul Jackson
2004-04-02 22:24 ` Matthew Dobson
2004-04-02 23:35 ` Paul Jackson
2004-04-03 1:09 ` Matthew Dobson
2004-04-03 6:00 ` Paul Jackson
2004-04-04 5:57 ` Paul Jackson
2004-04-03 5:23 ` Paul Jackson
2004-04-01 21:11 ` [Patch 7/23] mask v2 - Remove i386 obsolete cpumask ops Paul Jackson
2004-04-01 21:11 ` [Patch 8/23] mask v2 - Remove ppc64 " Paul Jackson
2004-04-01 21:11 ` [Patch 9/23] mask v2 - Remove x86_64 " Paul Jackson
2004-04-01 21:12 ` [Patch 10/23] mask v2 - Remove obsolete cpumask emulation Paul Jackson
2004-04-01 21:12 ` [Patch 11/23] mask v2 - Add new nodemasks.h file Paul Jackson
2004-04-01 21:12 ` [Patch 12/23] mask v2 - [1/7] mmzone.h changes for nodemask Paul Jackson
2004-04-01 21:12 ` [Patch 13/23] mask v2 - [2/7] nodemask_t core changes Paul Jackson
2004-04-01 21:12 ` [Patch 14/23] mask v2 - [3/7] nodemask_t_i386_changes Paul Jackson
2004-04-01 21:12 ` [Patch 15/23] mask v2 - [4/7] nodemask_t_pp64_changes Paul Jackson
2004-04-01 21:12 ` [Patch 16/23] mask v2 - [5/7] nodemask_t_x86_64_changes Paul Jackson
2004-04-01 21:12 ` [Patch 17/23] mask v2 = [6/7] nodemask_t_ia64_changes Paul Jackson
2004-04-06 11:37 ` Paul Jackson
2004-04-07 5:55 ` Denis Vlasenko
2004-04-07 6:50 ` Paul Jackson
2004-04-07 7:44 ` Paul Jackson
2004-04-07 14:13 ` Nick Piggin
2004-04-07 14:44 ` Paul Jackson
2004-04-07 15:02 ` Nick Piggin
2004-04-07 15:21 ` Paul Jackson
2004-04-09 7:54 ` Denis Vlasenko
2004-04-09 17:53 ` Paul Jackson
2004-04-09 20:04 ` Denis Vlasenko
2004-04-10 2:54 ` Paul Jackson
2004-04-07 11:27 ` Paul Jackson [this message]
2004-04-09 18:54 ` Paul Jackson
2004-04-01 21:12 ` [Patch 18/23] mask v2 - [7/7] nodemask_t_other_arch_changes Paul Jackson
2004-04-01 21:12 ` [Patch 19/23] mask v2 - Simplify sparc64 cpumask loop code Paul Jackson
2004-04-01 21:12 ` [Patch 20/23] mask v2 - Optimize i386 cpumask macro usage Paul Jackson
2004-04-01 21:13 ` [Patch 21/23] mask v2 - Dyadic physids_complement() Paul Jackson
2004-04-01 21:13 ` [Patch 22/23] mask v2 - Fix cpumask in asm-x86_64/topology.h Paul Jackson
2004-04-01 21:13 ` [Patch 23/23] mask v2 - Cpumask tweak in kernel/sched.c Paul Jackson
2004-04-02 8:15 ` [Patch 24/23] mask v2 - Small system optimizations Paul Jackson
2004-04-04 5:56 ` Paul Jackson
2004-04-04 6:16 ` [Patch 24a/23] mask v2 - UP fix, faster mask_of_bit, MASK_ALL* names 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=20040407042754.6b487ace.pj@sgi.com \
--to=pj@sgi.com \
--cc=colpatch@us.ibm.com \
--cc=linux-kernel@vger.kernel.org \
--cc=vda@port.imtp.ilyichevsk.odessa.ua \
--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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox