Re: [mmotm] build failure on x86_64 pci-calgary_64.c

Ingo Molnar
2008-07-03T09:07:22Z

* KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com> wrote:

> > > Seems the problematic patch is :
> > > mmap-handle-mlocked-pages-during-map-remap-unmap.patch
> > >
> > > I'm using mmotm uploaded yesterday by Andrew, so I guess this bug
> > > has not been fixed ?
> > >
> > > BUG: sleeping function called from invalid context at include/linux/pagemap.h:290
> > > in_atomic():1, irqs_disabled():0
> >
> > sorry for that.
> > I started investigate this problem.
>
> Hi Andrew,
>
> on ia64, I can't reproduce this problem.
> on x86_64, I can't build kernel because following error happned.
> (end_pfn doesn't exist, but used)
>
>
> -----------------------------------------------------
> % LANG=C make -j 20
> CHK include/linux/version.h
> CHK include/linux/utsrelease.h
> CALL scripts/checksyscalls.sh
> CHK include/linux/compile.h
> CC arch/x86/kernel/pci-calgary_64.o
> arch/x86/kernel/pci-calgary_64.c: In function 'detect_calgary':
> arch/x86/kernel/pci-calgary_64.c:1413: error: 'end_pfn' undeclared (first use in this function)
> arch/x86/kernel/pci-calgary_64.c:1413: error: (Each undeclared identifier is reported only once
> arch/x86/kernel/pci-calgary_64.c:1413: error: for each function it appears in.)
> make[1]: *** [arch/x86/kernel/pci-calgary_64.o] Error 1
> make: *** [arch/x86/kernel] Error 2
> make: *** Waiting for unfinished jobs....
> make: *** wait: No child processes. Stop.
>
> -----------------------------------------------------
>
>
> I guess below commit or related commit is doubtfully.
>
> :commit 1b1b18f0bf62ec808784002382f2b5833701afda
> :Author: Yinghai Lu <yhlu.kernel@gmail.com>
> :Date: Tue Jun 24 22:14:09 2008 -0700
> :
> : x86: remove end_pfn in 64bit
> :
> : and use max_pfn directly.
> :
> : Signed-off-by: Yinghai Lu <yhlu.kernel@gmail.com>
> : Signed-off-by: Ingo Molnar <mingo@elte.hu>

no.

this a linux-next integration artifact AFAICT, there's no such build
failure in the x86 tree.

what happened is that the x86 tree got rid of end_pfn, the PCI tree grew
one more reference to it and it was not fixed up.

Ingo