1. 03 Apr, 2009 16 commits
    • Eduard - Gabriel Munteanu's avatar
      kmemtrace: kmemtrace_alloc() must fill type_id · da2635a9
      Eduard - Gabriel Munteanu authored
      Impact: fix trace output
      
      kmemtrace_alloc() was not filling type_id, which allowed garbage to make
      it into tracing data.
      Signed-off-by: default avatarEduard - Gabriel Munteanu <eduard.munteanu@linux360.ro>
      LKML-Reference: <284dba2732a144849d5aa82258fe0de2ad8dcb0b.1237813499.git.eduard.munteanu@linux360.ro>
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      da2635a9
    • Eduard - Gabriel Munteanu's avatar
      kmemtrace: use tracepoints · ca2b84cb
      Eduard - Gabriel Munteanu authored
      kmemtrace now uses tracepoints instead of markers. We no longer need to
      use format specifiers to pass arguments.
      Signed-off-by: default avatarEduard - Gabriel Munteanu <eduard.munteanu@linux360.ro>
      [ folded: Use the new TP_PROTO and TP_ARGS to fix the build.     ]
      [ folded: fix build when CONFIG_KMEMTRACE is disabled.           ]
      [ folded: define tracepoints when CONFIG_TRACEPOINTS is enabled. ]
      Signed-off-by: default avatarPekka Enberg <penberg@cs.helsinki.fi>
      LKML-Reference: <ae61c0f37156db8ec8dc0d5778018edde60a92e3.1237813499.git.eduard.munteanu@linux360.ro>
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      ca2b84cb
    • Eduard - Gabriel Munteanu's avatar
      kmemtrace, rcu: don't include unnecessary headers, allow kmemtrace w/ tracepoints · ac44021f
      Eduard - Gabriel Munteanu authored
      Impact: cleanup
      
      linux/percpu.h includes linux/slab.h, which generates circular inclusion
      dependencies when trying to switch kmemtrace to use tracepoints instead
      of markers.
      
      This patch allows tracing within slab headers' inline functions.
      Signed-off-by: default avatarPekka Enberg <penberg@cs.helsinki.fi>
      Cc: Eduard - Gabriel Munteanu <eduard.munteanu@linux360.ro>
      Cc: paulmck@linux.vnet.ibm.com
      LKML-Reference: <1237898630.25315.83.camel@penberg-laptop>
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      ac44021f
    • Ingo Molnar's avatar
      kmemtrace, rcu: fix rcupreempt.c data structure dependencies · a979241c
      Ingo Molnar authored
      Impact: cleanup
      
      We want to remove percpu.h from rcupreempt.h, but if we do that
      the percpu primitives there wont build anymore. Move them to the
      .c file instead.
      
      Cc: Pekka Enberg <penberg@cs.helsinki.fi>
      Cc: Eduard - Gabriel Munteanu <eduard.munteanu@linux360.ro>
      Cc: paulmck@linux.vnet.ibm.com
      LKML-Reference: <1237898630.25315.83.camel@penberg-laptop>
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      a979241c
    • Ingo Molnar's avatar
      kmemtrace, rcu: fix rcu_tree_trace.c data structure dependencies · 6258c4fb
      Ingo Molnar authored
      Impact: cleanup
      
      We want to remove rcutree internals from the public rcutree.h file for
      upcoming kmemtrace changes - but kernel/rcutree_trace.c depends on them.
      
      Introduce kernel/rcutree.h for internal definitions. (Probably all
      the other data types from include/linux/rcutree.h could be
      moved here too - except rcu_data.)
      
      Cc: Pekka Enberg <penberg@cs.helsinki.fi>
      Cc: Eduard - Gabriel Munteanu <eduard.munteanu@linux360.ro>
      Cc: paulmck@linux.vnet.ibm.com
      LKML-Reference: <1237898630.25315.83.camel@penberg-laptop>
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      6258c4fb
    • Ingo Molnar's avatar
      kmemtrace, rcu: fix linux/rcutree.h and linux/rcuclassic.h dependencies · b1f77b05
      Ingo Molnar authored
      Impact: build fix for all non-x86 architectures
      
      We want to remove percpu.h from rcuclassic.h/rcutree.h (for upcoming
      kmemtrace changes) but that would break the DECLARE_PER_CPU based
      declarations in these files.
      
      Move the quiescent counter management functions to their respective
      RCU implementation .c files - they were slightly above the inlining
      limit anyway.
      
      Cc: Pekka Enberg <penberg@cs.helsinki.fi>
      Cc: Eduard - Gabriel Munteanu <eduard.munteanu@linux360.ro>
      Cc: paulmck@linux.vnet.ibm.com
      LKML-Reference: <1237898630.25315.83.camel@penberg-laptop>
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      b1f77b05
    • Pekka Enberg's avatar
      kmemtrace, mm: fix slab.h dependency problem in mm/failslab.c · 255d11bc
      Pekka Enberg authored
      Impact: cleanup
      
      mm/failslab.c depends on slab.h without including it:
      
          CC      mm/failslab.o
        mm/failslab.c: In function ‘should_failslab’:
        mm/failslab.c:16: error: ‘__GFP_NOFAIL’ undeclared (first use in this function)
        mm/failslab.c:16: error: (Each undeclared identifier is reported only once
        mm/failslab.c:16: error: for each function it appears in.)
        mm/failslab.c:19: error: ‘__GFP_WAIT’ undeclared (first use in this function)
        make[1]: *** [mm/failslab.o] Error 1
        make: *** [mm] Error 2
      
      It gets included implicitly currently - but this will not be the
      case with upcoming kmemtrace changes.
      Signed-off-by: default avatarPekka Enberg <penberg@cs.helsinki.fi>
      Cc: Eduard - Gabriel Munteanu <eduard.munteanu@linux360.ro>
      LKML-Reference: <1237888761.25315.69.camel@penberg-laptop>
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      255d11bc
    • Pekka Enberg's avatar
      kmemtrace, kbuild: fix slab.h dependency problem in lib/decompress_unlzma.c · e65a1b7c
      Pekka Enberg authored
      Impact: cleanup
      
      lib/decompress_unlzma.c depends on slab.h without including it:
      
          CC      lib/decompress_unlzma.o
        lib/decompress_unlzma.c: In function ‘rc_free’:
        lib/decompress_unlzma.c:122: error: implicit declaration of function ‘kfree’
        lib/decompress_unlzma.c: In function ‘unlzma’:
        lib/decompress_unlzma.c:551: error: implicit declaration of function ‘kmalloc’
        lib/decompress_unlzma.c:551: warning: assignment makes pointer from integer without a cast
        make[1]: *** [lib/decompress_unlzma.o] Error 1
        make: *** [lib/] Error 2
      
      It gets included implicitly currently - but this will not be the
      case with upcoming kmemtrace changes.
      Signed-off-by: default avatarPekka Enberg <penberg@cs.helsinki.fi>
      Cc: Eduard - Gabriel Munteanu <eduard.munteanu@linux360.ro>
      LKML-Reference: <1237886521.25315.58.camel@penberg-laptop>
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      e65a1b7c
    • Pekka Enberg's avatar
      kmemtrace, kbuild: fix slab.h dependency problem in lib/decompress_bunzip2.c · ba56617e
      Pekka Enberg authored
      Impact: cleanup
      
      lib/decompress_bunzip2.c depends on slab.h without including it:
      
          CC      lib/decompress_bunzip2.o
        lib/decompress_bunzip2.c: In function ‘start_bunzip’:
        lib/decompress_bunzip2.c:636: error: implicit declaration of function ‘kmalloc’
        lib/decompress_bunzip2.c:636: warning: assignment makes pointer from integer without a cast
        lib/decompress_bunzip2.c: In function ‘bunzip2’:
        lib/decompress_bunzip2.c:682: warning: assignment makes pointer from integer without a cast
        lib/decompress_bunzip2.c:693: warning: assignment makes pointer from integer without a cast
        lib/decompress_bunzip2.c:726: error: implicit declaration of function ‘kfree’
        make[1]: *** [lib/decompress_bunzip2.o] Error 1
        make: *** [lib/] Error 2
      
      It gets included implicitly currently - but this will not be the
      case with upcoming kmemtrace changes.
      Signed-off-by: default avatarPekka Enberg <penberg@cs.helsinki.fi>
      Cc: Eduard - Gabriel Munteanu <eduard.munteanu@linux360.ro>
      LKML-Reference: <1237886032.25315.48.camel@penberg-laptop>
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      ba56617e
    • Pekka Enberg's avatar
      kmemtrace, kbuild: fix slab.h dependency problem in lib/decompress_inflate.c · 079effb6
      Pekka Enberg authored
      Impact: fix build
      
      lib/decompress_inflate.c depends on slab.h without including it:
      
          CC      lib/decompress_inflate.o
        lib/decompress_inflate.c: In function ‘gunzip’:
        lib/decompress_inflate.c:45: error: implicit declaration of function ‘kmalloc’
        lib/decompress_inflate.c:45: warning: assignment makes pointer from integer without a cast
        lib/decompress_inflate.c:57: warning: assignment makes pointer from integer without a cast
        lib/decompress_inflate.c:65: warning: assignment makes pointer from integer without a cast
        lib/decompress_inflate.c:71: warning: assignment makes pointer from integer without a cast
        lib/decompress_inflate.c:154: error: implicit declaration of function ‘kfree’
        make[1]: *** [lib/decompress_inflate.o] Error 1
        make: *** [lib/] Error 2
      
      It gets included implicitly currently - but this will not be the
      case with upcoming kmemtrace changes.
      Signed-off-by: default avatarPekka Enberg <penberg@cs.helsinki.fi>
      Cc: Eduard - Gabriel Munteanu <eduard.munteanu@linux360.ro>
      LKML-Reference: <1237886030.25315.47.camel@penberg-laptop>
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      079effb6
    • Pekka Enberg's avatar
      kmemtrace, squashfs: fix slab.h dependency problem in squasfs · 23516dc7
      Pekka Enberg authored
      Impact: cleanup
      
      fs/squashfs/export.c depends on slab.h without including it:
      
          CC      fs/squashfs/export.o
        fs/squashfs/export.c: In function ‘squashfs_read_inode_lookup_table’:
        fs/squashfs/export.c:133: error: implicit declaration of function ‘kmalloc’
        fs/squashfs/export.c:133: warning: assignment makes pointer from integer without a cast
        fs/squashfs/export.c:143: error: implicit declaration of function ‘kfree’
        make[1]: *** [fs/squashfs/export.o] Error 1
        make: *** [fs/squashfs/] Error 2
      
      It gets included implicitly currently - but this will not be the
      case with upcoming kmemtrace changes.
      Signed-off-by: default avatarPekka Enberg <penberg@cs.helsinki.fi>
      Cc: Eduard - Gabriel Munteanu <eduard.munteanu@linux360.ro>
      LKML-Reference: <1237884999.25315.41.camel@penberg-laptop>
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      23516dc7
    • Pekka Enberg's avatar
      kmemtrace, befs: fix slab.h dependency problem · c325962b
      Pekka Enberg authored
      Impact: cleanup
      
      fs/befs/debug.c depends on slab.h without including it. Upcoming
      changes for kmemtrace would break the build:
      
          CC      fs/befs/debug.o
        fs/befs/debug.c: In function ‘befs_error’:
        fs/befs/debug.c:31: error: implicit declaration of function ‘kmalloc’
        fs/befs/debug.c:31: warning: initialization makes pointer from integer without a cast
        fs/befs/debug.c:42: error: implicit declaration of function ‘kfree’
        fs/befs/debug.c: In function ‘befs_warning’:
        fs/befs/debug.c:49: warning: initialization makes pointer from integer without a cast
        fs/befs/debug.c: In function ‘befs_debug’:
        fs/befs/debug.c:73: warning: assignment makes pointer from integer without a cast
        make[1]: *** [fs/befs/debug.o] Error 1
        make: *** [fs/befs/] Error 2
      
      So add the dependency explicitly.
      Signed-off-by: default avatarPekka Enberg <penberg@cs.helsinki.fi>
      Cc: Eduard - Gabriel Munteanu <eduard.munteanu@linux360.ro>
      LKML-Reference: <1237884230.25315.33.camel@penberg-laptop>
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      c325962b
    • Pekka Enberg's avatar
      kmemtrace, security: fix linux/key.h header file dependencies · aa84442d
      Pekka Enberg authored
      Impact: cleanup
      
      We want to remove percpu.h from rcupdate.h (for upcoming kmemtrace
      changes), but this is not possible currently without breaking the
      build because key.h has an implicit include file dependency on
      rwsem.h:
      
          CC [M]  fs/cifs/cifs_spnego.o
        In file included from include/keys/user-type.h:15,
                         from fs/cifs/cifs_spnego.c:24:
        include/linux/key.h:128: error: field ‘sem’ has incomplete type
        make[2]: *** [fs/cifs/cifs_spnego.o] Error 1
        make[1]: *** [fs/cifs] Error 2
        make: *** [fs] Error 2
      
      Fix it by making the dependency explicit.
      Signed-off-by: default avatarPekka Enberg <penberg@cs.helsinki.fi>
      Cc: Eduard - Gabriel Munteanu <eduard.munteanu@linux360.ro>
      LKML-Reference: <1237884886.25315.39.camel@penberg-laptop>
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      aa84442d
    • Ingo Molnar's avatar
      kmemtrace, fs: fix linux/fdtable.h header file dependencies · 21e54459
      Ingo Molnar authored
      Impact: cleanup
      
      We want to remove percpu.h from rcupdate.h (for upcoming kmemtrace
      changes), but this is not possible currently without breaking the
      build because fdtable.h has an implicit include file dependency: it
      uses __init does not include init.h.
      
      This can cause build failures on non-x86 architectures:
      
       /home/mingo/tip/include/linux/fdtable.h:66: error: expected '=', ',',
       ';', 'asm' or '__attribute__' before 'files_defer_init'
       make[2]: *** [fs/locks.o] Error 1
      
      We got this header included indirectly via rcupdate.h's percpu.h
      inclusion - but if that is not there the build will break.
      
      Fix it.
      
      Cc: Pekka Enberg <penberg@cs.helsinki.fi>
      Cc: Eduard - Gabriel Munteanu <eduard.munteanu@linux360.ro>
      Cc: paulmck@linux.vnet.ibm.com
      LKML-Reference: <1237898630.25315.83.camel@penberg-laptop>
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      21e54459
    • Ingo Molnar's avatar
      kmemtrace, fs: uninline simple_transaction_set() · 76791ab2
      Ingo Molnar authored
      Impact: cleanup
      
      We want to remove percpu.h from rcupdate.h (for upcoming kmemtrace
      changes), but this is not possible currently without breaking the
      build because fs.h has an implicit include file depedency: it
      uses PAGE_SIZE but does not include asm/page.h which defines it.
      
      This problem gets masked in practice because most fs.h using sites
      use rcupreempt.h (and other headers) which includes percpu.h which
      brings in asm/page.h indirectly.
      
      We cannot add asm/page.h to asm/fs.h because page.h is not an
      exported header.
      
      Move simple_transaction_set() to the other simple-transaction
      file helpers in fs/libfs.c.
      
      This removes the include file hell and also reduces
      kernel size a bit.
      Acked-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      Cc: Alexey Dobriyan <adobriyan@gmail.com>
      Cc: Pekka Enberg <penberg@cs.helsinki.fi>
      Cc: Eduard - Gabriel Munteanu <eduard.munteanu@linux360.ro>
      Cc: paulmck@linux.vnet.ibm.com
      LKML-Reference: <1237898630.25315.83.camel@penberg-laptop>
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      76791ab2
    • Pekka Enberg's avatar
      kmemtrace, fs, security: move alloc_secdata() and free_secdata() to linux/security.h · 3d544f41
      Pekka Enberg authored
      Impact: cleanup
      
      We want to remove percpu.h from rcupdate.h (for upcoming kmemtrace
      changes), but this is not possible currently without breaking the
      build because fs.h has implicit include file depedencies: it uses
      GFP_* types in inlines but does not include gfp.h.
      
      In practice most fs.h using .c files get gfp.h included implicitly,
      via an indirect route: via rcupdate.h inclusion - so this underlying
      problem gets masked in practice.
      
      So we want to solve fs.h's dependency on gfp.h.
      
      gfp.h can not be included here directly because it is not exported and it
      would break the build the following way:
      
        /home/mingo/tip/usr/include/linux/bsg.h:11: found __[us]{8,16,32,64} type without #include <linux/types.h>
        /home/mingo/tip/usr/include/linux/fs.h:11: included file 'linux/gfp.h' is not exported
        make[3]: *** [/home/mingo/tip/usr/include/linux/.check] Error 1
        make[2]: *** [linux] Error 2
      
      As suggested by Alexey Dobriyan, move alloc_secdata() and free_secdata()
      to linux/security.h - they belong there. This also cleans fs.h of GFP_*
      usage.
      Suggested-by: default avatarAlexey Dobriyan <adobriyan@gmail.com>
      Signed-off-by: default avatarPekka Enberg <penberg@cs.helsinki.fi>
      Cc: Eduard - Gabriel Munteanu <eduard.munteanu@linux360.ro>
      LKML-Reference: <1237906803.25315.96.camel@penberg-laptop>
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      3d544f41
  2. 01 Apr, 2009 24 commits