From: Matthew Dobson <colpatch@us.ibm.com>
To: linux-kernel <linux-kernel@vger.kernel.org>
Cc: Andrew Morton <akpm@digeo.com>, "Martin J. Bligh" <mbligh@aracnet.com>
Subject: [patch][rfc] Memory Binding (0/1)
Date: Tue, 01 Apr 2003 14:31:55 -0800 [thread overview]
Message-ID: <3E8A135B.3030106@us.ibm.com> (raw)
[-- Attachment #1: Type: text/plain, Size: 577 bytes --]
So I've made a couple attempts at adding a Memory Binding facility to
the kernel. Obviously, I've had no success as yet, so I'm stubbornly
trying another approach! ;)
This patch is just a small pre-patch to the real memory binding. It
just adds get_zonelist() and get_node_zonelist() calls, to make some
code a little more readable. This patch is super straight-forward. The
real fun is in the next patch...
[mcd@arrakis membind]$ diffstat 00-pre_membind.patch
gfp.h | 2 +-
mmzone.h | 8 ++++++++
2 files changed, 9 insertions(+), 1 deletion(-)
-Matt
[-- Attachment #2: 00-pre_membind.patch --]
[-- Type: text/plain, Size: 1271 bytes --]
diff -Nur --exclude-from=/usr/src/.dontdiff linux-2.5.66-vanilla/include/linux/gfp.h linux-2.5.66-pre_membind/include/linux/gfp.h
--- linux-2.5.66-vanilla/include/linux/gfp.h Mon Mar 24 14:00:10 2003
+++ linux-2.5.66-pre_membind/include/linux/gfp.h Mon Mar 31 17:38:47 2003
@@ -52,7 +52,7 @@
if (unlikely(order >= MAX_ORDER))
return NULL;
- return __alloc_pages(gfp_mask, order, NODE_DATA(nid)->node_zonelists + (gfp_mask & GFP_ZONEMASK));
+ return __alloc_pages(gfp_mask, order, get_node_zonelist(nid, gfp_mask));
}
#define alloc_pages(gfp_mask, order) \
diff -Nur --exclude-from=/usr/src/.dontdiff linux-2.5.66-vanilla/include/linux/mmzone.h linux-2.5.66-pre_membind/include/linux/mmzone.h
--- linux-2.5.66-vanilla/include/linux/mmzone.h Mon Mar 24 14:00:45 2003
+++ linux-2.5.66-pre_membind/include/linux/mmzone.h Mon Mar 31 17:38:47 2003
@@ -326,6 +326,14 @@
#define num_online_memblks() 1
#endif /* CONFIG_DISCONTIGMEM || CONFIG_NUMA */
+
+static inline struct zonelist *get_node_zonelist(int nid, int gfp_mask)
+{
+ return NODE_DATA(nid)->node_zonelists + (gfp_mask & GFP_ZONEMASK);
+}
+
+#define get_zonelist(gfp_mask) get_node_zonelist(numa_node_id(), gfp_mask)
+
#endif /* !__ASSEMBLY__ */
#endif /* __KERNEL__ */
#endif /* _LINUX_MMZONE_H */
next reply other threads:[~2003-04-01 22:29 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2003-04-01 22:31 Matthew Dobson [this message]
2003-04-01 22:39 ` [patch][rfc] Memory Binding (1/1) Matthew Dobson
2003-04-01 23:39 ` Andrew Morton
2003-04-02 2:42 ` Matthew Dobson
2003-04-02 20:43 ` Bryan Rittmeyer
2003-04-02 7:26 ` Christoph Hellwig
2003-04-02 8:17 ` [Lse-tech] " Andi Kleen
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=3E8A135B.3030106@us.ibm.com \
--to=colpatch@us.ibm.com \
--cc=akpm@digeo.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mbligh@aracnet.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