Re: NUMA API for Linux

From: Andrew Morton
Date: Wed Apr 07 2004 - 17:35:28 EST


Andi Kleen <ak@xxxxxxx> wrote:
>
> What was the problem in mmap.c ? I compiled in various combinations (with
> and without NUMA on i386 and x86-64) and it worked.



mm/mmap.c: In function `copy_vma':
mm/mmap.c:1531: structure has no member named `vm_policy'

--- 25/mm/mmap.c~numa-api-vma-policy-hooks-fix Wed Apr 7 12:28:53 2004
+++ 25-akpm/mm/mmap.c Wed Apr 7 12:29:09 2004
@@ -1528,7 +1528,7 @@ struct vm_area_struct *copy_vma(struct v

find_vma_prepare(mm, addr, &prev, &rb_link, &rb_parent);
new_vma = vma_merge(mm, prev, rb_parent, addr, addr + len,
- vma->vm_flags, vma->vm_file, pgoff, vma->vm_policy);
+ vma->vm_flags, vma->vm_file, pgoff, vma_policy(vma));
if (!new_vma) {
new_vma = kmem_cache_alloc(vm_area_cachep, SLAB_KERNEL);
if (new_vma) {

_

> And why was arch_hugetlb_fault() unneeded?

Well we do:

if (condition-which-evaluates-to-constant-zero-on-CONFIG_HUGETLB=n)
arch_hugetlb_fault();

so the compiler will never emit a call to the stub function anyway.

But it turns out the stub is needed for now, because !X86 doesn't implement
arch_hugetlb_fault(). So I put it back.

> > It builds OK for NUMAQ, although NUMAQ does have a problem:
> >
> > drivers/built-in.o: In function `acpi_pci_root_add':
> > drivers/built-in.o(.text+0x22015): undefined reference to `pci_acpi_scan_root'
> >
> > ppc64+CONFIG_NUMA compiles OK.
>
> ppc64 doesn't have the system calls hooked up, but I'm not sure how useful
> it would be for these boxes anyways (afaik they are pretty uniform)

Well, it's best that the kernel actually compiles still..

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/