lkml.org 
[lkml]   [2008]   [Aug]   [19]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    SubjectRe: [PATH -mm] Fix a race condtion of oops_in_progress
    From
    Date
    On Mon, 2008-08-18 at 21:06 -0700, Andrew Morton wrote:
    > On Mon, 18 Aug 2008 10:03:27 +0800 Huang Ying <ying.huang@intel.com> wrote:
    >
    > > This patch fix a race condition of oops_in_progress. Which may be
    > > changed on multiple CPU simultaneously, but it is changed via
    > > non-atomic operation ++/--. This patch changes the definition of
    > > oops_in_process from int to atomic_t, and accessing method to atomic
    > > operations.
    >
    >
    > > extern atomic_t oops_in_progress;
    >
    > In file included from include/asm/system.h:10,
    > from include/asm/processor.h:17,
    > from include/asm/atomic_32.h:5,
    > from include/asm/atomic.h:2,
    > from include/linux/crypto.h:20,
    > from arch/x86/kernel/asm-offsets_32.c:7,
    > from arch/x86/kernel/asm-offsets.c:2:
    > include/linux/kernel.h:236: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'oops_in_progress'
    > make[1]: *** [arch/x86/kernel/asm-offsets.s] Error 1
    > make: *** [prepare0] Error 2
    >
    > we can't inlude asm/atomic.h from linux/kernel.h because asm/atomic.h
    > includes linux/kernel.h via the above route.
    >
    > And we cannot forward-declare atomic_t by hand because it's a typedef.
    >
    > Not sure what to do, really. Find a different header file in which to
    > declare oops_in_progress?

    It seems that asm/atomic.h is used for both atomic_t declaration and
    implementation, how about separate them? That it, add a new file
    asm/atomic_def.h, put typedef there, and include asm/atomic_def.h in
    kernel.h?

    Best Regards,
    Huang Ying




    \
     
     \ /
      Last update: 2008-08-19 07:41    [W:0.025 / U:120.796 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site