Re: [PATCH -tip -v4] irq_work: generic hard-irq context callbacks

Martin Schwidefsky
2010-09-15T07:52:18Z

On Wed, 15 Sep 2010 13:29:50 +0800
Huang Ying <ying.huang@intel.com> wrote:

> On Mon, 2010-09-13 at 19:36 +0800, Peter Zijlstra wrote:
> > On Mon, 2010-09-13 at 12:32 +0200, Martin Schwidefsky wrote:
> > > On Mon, 13 Sep 2010 14:50:48 +0800
> > > Huang Ying <ying.huang@intel.com> wrote:
> > >
> > > > From: Peter Zijlstra <a.p.zijlstra@chello.nl>
> > > >
> > > > In order for other NMI context users that want to run things from
> > > > hard-IRQ context, extract the perf_event callback mechanism.
> > > >
> > > > Huang Ying: some fixes
> > > >
> > > > This patch is only tested on x86 platform.
> > > >
> > > >
> > > > v4:
> > > >
> > > > -rebased on latest -tip tree
> > > >
> > > > Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
> > > > Signed-off-by: Huang Ying <ying.huang@intel.com>
> > >
> > > On s390 I get compile errors:
> > >
> > > include/linux/perf_event.h:464:29: error: asm/perf_event.h: No such file or directory
> > >
> > > Not a good idea to completely remove the perf_event.h from arch/s390/include/asm.
> > > With an empty header file the kernel at least compiles.
> >
> > Urgh, Huang, could you at least compile test the other arches?
>
> I uses the cross build tool from:
>
> http://www.kernel.org/pub/tools/crosstool/
>
> But I get compile errors on s390 and alpha even for tip/master
> (ce0c65112d37ff04016b4e0962a406281640739b). The build logs are attached.
>
> Do I use the wrong git tree? Or we should fix tip/master firstly?
>
> And frv and sh have compile error even for linus/master and 2.6.35. So I
> can not compile test for these arches.
>
> Do I use the wrong cross tool?
>
> The kernel configuration is generated as follow:
>
> make defconfig
> ./scripts/config --enable perf_events

The compile error on s390 is a known problem in the -tip/-next tree introduced
with git commit 2bf2160d8805de64308e2e7c3cd97813cb58ed2f. The proposed solution
from Heiko as discussed on linux-next is this patch:

---
arch/s390/include/asm/hardirq.h | 4 ----
1 file changed, 4 deletions(-)

--- a/arch/s390/include/asm/hardirq.h
+++ b/arch/s390/include/asm/hardirq.h
@@ -12,10 +12,6 @@
#ifndef __ASM_HARDIRQ_H
#define __ASM_HARDIRQ_H

-#include <linux/threads.h>
-#include <linux/sched.h>
-#include <linux/cache.h>
-#include <linux/interrupt.h>
#include <asm/lowcore.h>

#define local_softirq_pending() (S390_lowcore.softirq_pending)

--
blue skies,
Martin.

"Reality continues to ruin my life." - Calvin.