| From: |
| Erich Focht <efocht@ess.nec.de> |
| To: |
| linux-kernel@vger.kernel.org |
| Subject: |
| [PATCH] node affine NUMA scheduler 4/5 |
| Date: |
| Mon, 14 Oct 2002 13:09:50 +0200 |
---------- Resent Message ----------
Subject: [PATCH] node affine NUMA scheduler 4/5
Date: Fri, 11 Oct 2002 20:01:39 +0200
Ooops, this went out empty. It's so simple, anyway. Sorry...
On Friday 11 October 2002 19:59, Erich Focht wrote:
> And here comes the fourth part...
>
> > 04-alloc_on_homenode.patch :
> > Coupling with the memory allocator: for user tasks allocate memory
> > from the homenode, no matter on which node the task is scheduled.
Erich
diff -urNp 2.5.39-disc-na/include/linux/gfp.h 2.5.39-disc-nac/include/linux/gfp.h
--- 2.5.39-disc-na/include/linux/gfp.h Fri Sep 27 23:49:16 2002
+++ 2.5.39-disc-nac/include/linux/gfp.h Tue Oct 8 16:16:04 2002
@@ -51,9 +51,13 @@ extern struct page * alloc_pages_node(in
*/
static inline struct page * alloc_pages(unsigned int gfp_mask, unsigned int order)
{
- pg_data_t *pgdat = NODE_DATA(numa_node_id());
+ pg_data_t *pgdat;
unsigned int idx = (gfp_mask & GFP_ZONEMASK);
+ if (current->active_mm == &init_mm)
+ pgdat = NODE_DATA(numa_node_id());
+ else
+ pgdat = NODE_DATA(current->node);
if (unlikely(order >= MAX_ORDER))
return NULL;