1. 06 2月, 2010 1 次提交
    • H
      markup_oops.pl: add options to improve cross-sompilation environments · 52e13e21
      Hui Zhu 提交于
      The markup_oops.pl have 3 troubles to support cross-compiler environment:
      1.  It use objdump directly.
      2.  It use modinfo to get the message of module.
      3.  It use hex function that cannot support 64-bit number in 32-bit arch.
      
      This patch add 3 options to markup_oops.pl:
      1. -c CROSS_COMPILE	Specify the prefix used for toolchain.
      2. -m MODULE_DIRNAME	Specify the module directory name.
      3. Change hex function to Math::BigInt->from_hex.
      
      After this patch, parse the x8664 oops in x86, we can:
      cat amd64m | perl ~/kernel/tmp/m.pl -c /home/teawater/kernel/bin/x8664- -m ./e.ko vmlinux
      
      Thanks,
      Hui
      Signed-off-by: NHui Zhu <teawater@gmail.com>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Cc: Arjan van de Ven <arjan@linux.intel.com>
      Cc: Sam Ravnborg <sam@ravnborg.org>
      Cc: ozan@pardus.org.tr
      Cc: Matthew Wilcox <willy@linux.intel.com>
      Acked-by: NWANG Cong <xiyou.wangcong@gmail.com>
      Signed-off-by: NMichal Marek <mmarek@suse.cz>
      52e13e21
  2. 02 2月, 2010 13 次提交
    • J
      scripts: use %_tmppath in "make rpm-pkg" · 880df92f
      John Saalwaechter 提交于
      The mkspec script hardcodes "/var/tmp" into the generated rpm spec file's
      BuildRoot. The user, however, may have a custom setting for %_tmppath,
      which should be used in BuildRoot.  This patch changes mkspec's
      BuildRoot output to appropriately use %_tmppath.
      Signed-off-by: NJohn Saalwaechter <saalwaechter@gmail.com>
      Signed-off-by: NMichal Marek <mmarek@suse.cz>
      880df92f
    • H
      markup_oops.pl: fix for faulting instruction in the first line of a range · 0139f1d9
      Hui Zhu 提交于
      I got a "No matching code found" when I use markup_oops.pl parse a error
      in a x86_64 module.
      
      cat e.c
      
      int init_module(void)
      {
      	char	*buf = 0;
      
      	buf[0] = 3;
      
      	return 0;
      }
      
      void cleanup_module(void)
      {
      	//char	*buf = 0;
      
      	//buf[0] = 3;
      }
      
      MODULE_AUTHOR("Hui Zhu");
      MODULE_LICENSE("GPL");
      
      0000000000000000 <init_module>:
      init_module():
      /home/teawater/study/kernel/stack2core/example/e.c:10
         0:	c6 04 25 00 00 00 00 	movb   $0x3,0x0
         7:	03
      /home/teawater/study/kernel/stack2core/example/e.c:13
         8:	31 c0                	xor    %eax,%eax
         a:	c3                   	retq
         b:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
      
      0000000000000010 <cleanup_module>:
      cleanup_module():
      /home/teawater/study/kernel/stack2core/example/e.c:20
        10:	f3 c3                	repz retq
        12:	90                   	nop
        13:	90                   	nop
      Disassembly of section .modinfo:
      
      This is because the faulting instruction "movb   $0x3,0x0" is the first
      line of the range.
      
      In the markup_oops.pl:
      main::(./scripts/markup_oops.pl:245):
      245:				if (InRange($1, $target)) {
        DB<2> p $line
      ffffffffa001b000:	c6 04 25 00 00 00 00 	movb   $0x3,0x0
        DB<3> p $counter
      0
      
      It just set $center in next loop. So it cannot get the $center.
      
      And even if $center is set to the right value 0.
      if ($center == 0) {
      	print "No matching code found \n";
      	exit;
      }
      The first line $center will be 0, so I change the default value to -1.
      Signed-off-by: NHui Zhu <teawater@gmail.com>
      Signed-off-by: NMichal Marek <mmarek@suse.cz>
      0139f1d9
    • D
      scripts: change scripts to use system python instead of env · 94a47083
      Don Zickus 提交于
      Just a small change to a couple of scripts to go from
      
       #!/usr/bin/env python
      
      to
      
       #!/usr/bin/python
      
      This shouldn't effect anyone, unless they don't install python there.
      
      In preparation for python3, Fedora is doing a big push to change the scripts
      to use the system python.  This allows developers to put the python3 in
      their path without fear of breaking existing scripts.
      
      Now I am pretty sure anyone using python3 for testing purposes will probably
      not run any of the scripts I changed, but Fedora has this automated tool
      that checks for this stuff so I thought I would try to push it upstream.
      Signed-off-by: NDon Zickus <dzickus@redhat.com>
      Acked-by: NWANG Cong <xiyou.wangcong@gmail.com>
      Acked-by: NJarod Wilson <jarod@redhat.com>
      Signed-off-by: NMichal Marek <mmarek@suse.cz>
      94a47083
    • H
      scripts/kallsyms: suppress build warning · 71d41aed
      Himanshu Chauhan 提交于
      Suppress a warn_unused_result warning.
      
      fgets is called as a part of error handling.  It is called just to drop a
      line and return immediately.  read_map is reading the file in a loop and
      read_symbol reads line by line.  So I think there is no point in using
      return value for useful checking.  Other checks like 3 items were returned
      or !EOF have already been done.
      Signed-off-by: NHimanshu Chauhan <hschauhan@nulltrace.org>
      Cc: WANG Cong <xiyou.wangcong@gmail.com>
      Cc: Michal Marek <mmarek@suse.cz>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NMichal Marek <mmarek@suse.cz>
      71d41aed
    • M
      scripts/mkcompile_h: don't test for hardcoded paths · d4987bd7
      Michal Marek 提交于
      Don't test for /bin/{dnsdomainname,domainname}, simply try to execute
      the command and check if it returned something.
      Reported-by: NGlenn Sommer <glemsom@gmail.com>
      Acked-by: NWANG Cong <xiyou.wangcong@gmail.com>
      Tested-by: NGlenn Sommer <glemsom@gmail.com>
      Signed-off-by: NMichal Marek <mmarek@suse.cz>
      d4987bd7
    • A
      Improve kconfig symbol hashing · e66f25d7
      Andi Kleen 提交于
      While looking for something else I noticed that the symbol
      hash function used by kconfig is quite poor. It doesn't
      use any of the standard hash techniques but simply
      adds up the string and then uses power of two masking,
      which is both known to perform poorly.
      
      The current x86 kconfig has over 7000 symbols.
      
      When I instrumented it showed that the minimum hash chain
      length was 16 and a significant number of them was over
      30.
      
      It didn't help that the hash table size was only 256 buckets.
      
      This patch increases the hash table size to a larger prime
      and switches to a FNV32 hash. I played around with a couple of hash
      functions, but that one seemed to perform best with reasonable
      hash table sizes.
      
      Increasing the hash table size even further didn't
      seem like a good idea, because there are a couple of global
      walks which walk the complete hash table.
      
      I also moved the unnamed bucket to 0. It's still the longest
      of all the buckets (44 entries), but hopefully it's not
      often hit except for the global walk which doesn't care.
      
      The result is a much nicer distribution:
      (first column bucket length, second number of buckets with that length)
      
      1: 3505
      2: 1236
      3: 294
      4: 52
      5: 3
      47: 1		<--- this is the unnamed symbols bucket
      
      There are still some 5+ buckets, but increasing the hash table
      even more would be likely not worth it.
      
      This also cleans up the code slightly by removing hard coded
      magic numbers.
      
      I didn't notice a big performance difference either way
      on my Nehalem system, but I presume it'll help somewhat
      on slower systems.
      Signed-off-by: NAndi Kleen <ak@linux.intel.com>
      Signed-off-by: NMichal Marek <mmarek@suse.cz>
      e66f25d7
    • N
      nconfig: minor fix · 68c16edd
      Nir Tzachar 提交于
      This patch fixes two problems reported by Jan Engelhardt:
      1) Border is now properly placed, to always be visible
      2) Long menu items are properly displayed
      Reported-by: NJan Engelhardt <jengelh@medozas.de>
      Signed-off-by: NNir Tzachar <nir.tzachar@gmail.com>
      Signed-off-by: NMichal Marek <mmarek@suse.cz>
      68c16edd
    • M
      nconfig: mark local functions as such · 851190c9
      Michal Marek 提交于
      scripts/kconfig/nconf.gui.c:23: warning: no previous prototype for 'set_normal_colors'
      scripts/kconfig/nconf.gui.c:68: warning: no previous prototype for 'normal_color_theme'
      scripts/kconfig/nconf.gui.c:100: warning: no previous prototype for 'no_colors_theme'
      scripts/kconfig/nconf.c:455: warning: no previous prototype for 'process_special_keys'
      scripts/kconfig/nconf.c:487: warning: no previous prototype for 'get_next_hot'
      scripts/kconfig/nconf.c:506: warning: no previous prototype for 'canbhot'
      scripts/kconfig/nconf.c:514: warning: no previous prototype for 'is_hot'
      scripts/kconfig/nconf.c:522: warning: no previous prototype for 'make_hot'
      scripts/kconfig/nconf.c:582: warning: no previous prototype for 'item_make'
      scripts/kconfig/nconf.c:626: warning: no previous prototype for 'item_add_str'
      scripts/kconfig/nconf.c:656: warning: no previous prototype for 'item_tag'
      scripts/kconfig/nconf.c:668: warning: no previous prototype for 'curses_item_index'
      scripts/kconfig/nconf.c:673: warning: no previous prototype for 'item_data'
      scripts/kconfig/nconf.c:684: warning: no previous prototype for 'item_is_tag'
      scripts/kconfig/nconf.c:691: warning: no previous prototype for 'set_config_filename'
      Signed-off-by: NMichal Marek <mmarek@suse.cz>
      851190c9
    • N
      kconfig: new configuration interface (nconfig) · 692d97c3
      nir.tzachar@gmail.com 提交于
      This patch was inspired by the kernel projects page, where an ncurses
      replacement for menuconfig was mentioned (by Sam Ravnborg).
      
      Building on menuconfig, this patch implements a more modern look
      interface using ncurses and ncurses' satellite libraries (menu, panel,
      form). The implementation does not depend on lxdialog, which is
      currently distributed with the kernel.
      Signed-off-by: NNir Tzachar <nir.tzachar@gmail.com>
      Signed-off-by: NMichal Marek <mmarek@suse.cz>
      692d97c3
    • A
      genksyms: close ref_file after use · c64152bf
      Alexander Beregalov 提交于
      It is the last place when the file is read, so close it.
      Signed-off-by: NAlexander Beregalov <a.beregalov@gmail.com>
      Signed-off-by: NMichal Marek <mmarek@suse.cz>
      c64152bf
    • V
      menuconfig: wrap long help lines · da60fbbc
      Vadim Bendebury (вб) 提交于
      Help text for certain config options is very extensive (the text
      includes the names of all  other options the option in question depends
      on). Long lines are not wrapped, making it impossible to see the list
      without scrolling horizontally.
      
      This patch adds some logic which wraps help screen lines at word
      boundaries to prevent truncating.
      
      Tested by running
      
        ARCH=powerpc make menuconfig O=/tmp/build
      
      which shows that the long lines are now wrapped, and
      
       ARCH=powerpc make xconfig O=/tmp/build
      
      to demonstrate that it still compiles and operates as expected.
      Signed-off-by: NVadim Bendebury <vbendeb@google.com>
      Signed-off-by: NMichal Marek <mmarek@suse.cz>
      da60fbbc
    • R
      scripts: add ARM support to decodecode · 5358db0b
      Rabin Vincent 提交于
      This patch adds support for decoding ARM oopses to scripts/decodecode.
      The following things are handled:
      
       - ARCH and CROSS_COMPILE environment variables are respected.
      
       - The Code: in x86 oopses is in bytes, while it is in either words (4
         bytes) or halfwords for ARM.
      
       - Some versions of ARM objdump refuse to disassemble instructions
         generated by literal constants (".word 0x...").  The workaround is to
         strip the object file first.
      
       - The faulting instruction is marked (liked so) in ARM, but <like so>
         in x86.
      
       - ARM mnemonics may include characters such as [] which need to be
         escaped before being passed to sed for the "<- trapping instruction"
         substitution.
      Signed-off-by: NRabin Vincent <rabin@rab.in>
      Signed-off-by: NMichal Marek <mmarek@suse.cz>
      5358db0b
    • J
      kbuild: Fix linking error built-in.o no such file or directory · 4b024242
      Jiafu He 提交于
      This patch fixes the link error "built-in.o: no such file or directory".
      The problem happens if "dirx/Makefile" contains only "obj-m += diry/
      dirz/" and the empty "dirx/built-in.o" is missing. Adding $(subdir-m)
      into check for builtin-target fixes this error.
      Signed-off-by: NJiafu He <jay@goldhive.com>
      Signed-off-by: NMichal Marek <mmarek@suse.cz>
      4b024242
  3. 31 1月, 2010 4 次提交
  4. 30 1月, 2010 3 次提交
  5. 18 1月, 2010 1 次提交
    • M
      modpost: fix segfault in sym_is() with prefixed arches · 3a5dd791
      Mike Frysinger 提交于
      The sym_is() compares a symbol in an attempt to automatically skip symbol
      prefixes.  It does this first by searching the real symbol with the normal
      unprefixed symbol.  But then it uses the length of the original symbol to
      check the end of the substring instead of the length of the symbol it is
      looking for.  On non-prefixed arches, this is effectively the same thing,
      so there is no problem.  On prefixed-arches, since this is exceeds by just
      one byte, a crash is rare and it is usually a NUL byte anyways.  But every
      once in a blue moon, you get the right page alignment and it segfaults.
      
      For example, on the Blackfin arch, sym_is() will be called with the real
      symbol "___mod_usb_device_table" as "symbol" when looking for the normal
      symbol "__mod_usb_device_table" as "name".  The substring will thus return
      one byte into "symbol" and store it into "match".  But then "match" will
      be indexed with the length of "symbol" instead of "name" and so we will
      exceed the storage.  i.e. the code ends up doing:
      	char foo[] = "abc"; return foo[strlen(foo)+1] == '\0';
      Signed-off-by: NMike Frysinger <vapier@gentoo.org>
      Signed-off-by: NRusty Russell <rusty@rustcorp.com.au>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      3a5dd791
  6. 17 1月, 2010 1 次提交
  7. 13 1月, 2010 2 次提交
  8. 12 1月, 2010 3 次提交
    • J
      tracing/x86: Derive arch from bits argument in recordmcount.pl · b82a4045
      Jan Kiszka 提交于
      Let the arch argument be overruled by bits. Otherwise, building of
      external modules against a i386 target on a x86-64 host (and likely vice
      versa as well) fails unless ARCH=i386 is explicitly passed to make.
      Signed-off-by: NJan Kiszka <jan.kiszka@siemens.com>
      LKML-Reference: <4B4AFE10.8050109@siemens.com>
      Signed-off-by: NSteven Rostedt <rostedt@goodmis.org>
      b82a4045
    • J
      scripts/get_maintainer.pl: fix file exclusion X: logic · 272a8979
      Joe Perches 提交于
      The following command doesn't generate any output.
      `./scripts/get_maintainer.pl --no-git -f drivers/net/wireless/wl12xx/wl1271_acx.c`
      
      An excluded "X:" pattern match in any section would cause a file not to
      match any other section.
      Signed-off-by: NJoe Perches <joe@perches.com>
      Reported-by: NDan Carpenter <error27@gmail.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      272a8979
    • A
      lib: add support for LZO-compressed kernels · 7dd65feb
      Albin Tonnerre 提交于
      This patch series adds generic support for creating and extracting
      LZO-compressed kernel images, as well as support for using such images on
      the x86 and ARM architectures, and support for creating and using
      LZO-compressed initrd and initramfs images.
      
      Russell King said:
      
      : Testing on a Cortex A9 model:
      : - lzo decompressor is 65% of the time gzip takes to decompress a kernel
      : - lzo kernel is 9% larger than a gzip kernel
      :
      : which I'm happy to say confirms your figures when comparing the two.
      :
      : However, when comparing your new gzip code to the old gzip code:
      : - new is 99% of the size of the old code
      : - new takes 42% of the time to decompress than the old code
      :
      : What this means is that for a proper comparison, the results get even better:
      : - lzo is 7.5% larger than the old gzip'd kernel image
      : - lzo takes 28% of the time that the old gzip code took
      :
      : So the expense seems definitely worth the effort.  The only reason I
      : can think of ever using gzip would be if you needed the additional
      : compression (eg, because you have limited flash to store the image.)
      :
      : I would argue that the default for ARM should therefore be LZO.
      
      This patch:
      
      The lzo compressor is worse than gzip at compression, but faster at
      extraction.  Here are some figures for an ARM board I'm working on:
      
      Uncompressed size: 3.24Mo
      gzip  1.61Mo 0.72s
      lzo   1.75Mo 0.48s
      
      So for a compression ratio that is still relatively close to gzip, it's
      much faster to extract, at least in that case.
      
      This part contains:
       - Makefile routine to support lzo compression
       - Fixes to the existing lzo compressor so that it can be used in
         compressed kernels
       - wrapper around the existing lzo1x_decompress, as it only extracts one
         block at a time, while we need to extract a whole file here
       - config dialog for kernel compression
      
      [akpm@linux-foundation.org: coding-style fixes]
      [akpm@linux-foundation.org: cleanup]
      Signed-off-by: NAlbin Tonnerre <albin.tonnerre@free-electrons.com>
      Tested-by: NWu Zhangjin <wuzhangjin@gmail.com>
      Acked-by: N"H. Peter Anvin" <hpa@zytor.com>
      Cc: Ingo Molnar <mingo@elte.hu>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Tested-by: NRussell King <rmk@arm.linux.org.uk>
      Acked-by: NRussell King <rmk@arm.linux.org.uk>
      Cc: Ralf Baechle <ralf@linux-mips.org>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      7dd65feb
  9. 17 12月, 2009 2 次提交
    • W
      MIPS: Tracing: Add dynamic function tracer support · 538f1952
      Wu Zhangjin 提交于
      With dynamic function tracer, by default, _mcount is defined as an
      "empty" function, it returns directly without any more action . When
      enabling it in user-space, it will jump to a real tracing
      function(ftrace_caller), and do the real job for us.
      
      Differ from the static function tracer, dynamic function tracer provides
      two functions ftrace_make_call()/ftrace_make_nop() to enable/disable the
      tracing of some indicated kernel functions(set_ftrace_filter).
      
      In the -v4 version, the implementation of this support is basically the same as
      X86 version does: _mcount is implemented as an empty function and ftrace_caller
      is implemented as a real tracing function respectively.
      
      But in this version, to support module tracing with the help of
      -mlong-calls in arch/mips/Makefile:
      
      MODFLAGS += -mlong-calls.
      
      The stuff becomes a little more complex. We need to cope with two
      different type of calling to _mcount.
      
      For the kernel part, the calling to _mcount(result of "objdump -hdr
      vmlinux"). is like this:
      
      	108:   03e0082d        move    at,ra
      	10c:   0c000000        jal     0 <fpcsr_pending>
                              10c: R_MIPS_26  _mcount
                              10c: R_MIPS_NONE        *ABS*
                              10c: R_MIPS_NONE        *ABS*
      	110:   00020021        nop
      
      For the module with -mlong-calls, it looks like this:
      
      	c:	3c030000 	lui	v1,0x0
      			c: R_MIPS_HI16	_mcount
      			c: R_MIPS_NONE	*ABS*
      			c: R_MIPS_NONE	*ABS*
      	10:	64630000 	daddiu	v1,v1,0
      			10: R_MIPS_LO16	_mcount
      			10: R_MIPS_NONE	*ABS*
      			10: R_MIPS_NONE	*ABS*
      	14:	03e0082d 	move	at,ra
      	18:	0060f809 	jalr	v1
      
      In the kernel version, there is only one "_mcount" string for every
      kernel function, so, we just need to match this one in mcount_regex of
      scripts/recordmcount.pl, but in the module version, we need to choose
      one of the two to match. Herein, I choose the first one with
      "R_MIPS_HI16 _mcount".
      
      and In the kernel verion, without module tracing support, we just need
      to replace "jal _mcount" by "jal ftrace_caller" to do real tracing, and
      filter the tracing of some kernel functions via replacing it by a nop
      instruction.
      
      but as we have described before, the instruction "jal ftrace_caller" only left
      32bit length for the address of ftrace_caller, it will fail when calling from
      the module space. so, herein, we must replace something else.
      
      the basic idea is loading the address of ftrace_caller to v1 via changing these
      two instructions:
      
      	lui	v1,0x0
      	addiu	v1,v1,0
      
      If we want to enable the tracing, we need to replace the above instructions to:
      
      	lui	v1, HI_16BIT_ftrace_caller
      	addiu	v1, v1, LOW_16BIT_ftrace_caller
      
      If we want to stop the tracing of the indicated kernel functions, we
      just need to replace the "jalr v1" to a nop instruction. but we need to
      replace two instructions and encode the above two instructions
      oursevles.
      
      Is there a simpler solution? Yes! Here it is, in this version, we put _mcount
      and ftrace_caller together, which means the address of _mcount and
      ftrace_caller is the same:
      
      _mcount:
      ftrace_caller:
      	j	ftrace_stub
      	 nop
      
      	...(do real tracing here)...
      
      ftrace_stub:
      	jr	ra
      	 move	ra, at
      
      By default, the kernel functions call _mcount, and then jump to ftrace_stub and
      return. and when we want to do real tracing, we just need to remove that "j
      ftrace_stub", and it will run through the two "nop" instructions and then do
      the real tracing job.
      
      what about filtering job? we just need to do this:
      
      	 lui v1, hi_16bit_of_mcount        <--> b 1f (0x10000004)
      	 addiu v1, v1, low_16bit_of_mcount
      	 move at, ra
      	 jalr v1
      	 nop
      	 				     1f: (rec->ip + 12)
      
      In linux-mips64, there will be some local symbols, whose name are
      prefixed by $L, which need to be filtered. thanks goes to Steven for
      writing the mips64-specific function_regex.
      
      In a conclusion, with RISC, things becomes easier with such a "stupid"
      trick, RISC is something like K.I.S.S, and also, there are lots of
      "simple" tricks in the whole ftrace support, thanks goes to Steven and
      the other folks for providing such a wonderful tracing framework!
      Signed-off-by: NWu Zhangjin <wuzhangjin@gmail.com>
      Cc: Nicholas Mc Guire <der.herr@hofr.at>
      Cc: zhangfx@lemote.com
      Cc: Wu Zhangjin <wuzhangjin@gmail.com>
      Cc: Ingo Molnar <mingo@elte.hu>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: linux-kernel@vger.kernel.org
      Cc: linux-mips@linux-mips.org
      Patchwork: http://patchwork.linux-mips.org/patch/675/Acked-by: NSteven Rostedt <rostedt@goodmis.org>
      Signed-off-by: NRalf Baechle <ralf@linux-mips.org>
      538f1952
    • W
      MIPS: Tracing: Add an endian argument to scripts/recordmcount.pl · e6299d26
      Wu Zhangjin 提交于
      MIPS and some other architectures need this argument to handle
      big/little endian respectively.
      Signed-off-by: NWu Zhangjin <wuzj@lemote.com>
      Cc: Nicholas Mc Guire <der.herr@hofr.at>
      Cc: zhangfx@lemote.com
      Cc: Wu Zhangjin <wuzhangjin@gmail.com>
      Cc: Ingo Molnar <mingo@elte.hu>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: linux-kernel@vger.kernel.org
      Cc: linux-mips@linux-mips.org
      Patchwork: http://patchwork.linux-mips.org/patch/674/Acked-by: NSteven Rostedt <rostedt@goodmis.org>
      Signed-off-by: NRalf Baechle <ralf@linux-mips.org>
      e6299d26
  10. 16 12月, 2009 3 次提交
    • J
      scripts/get_maintainer.pl: support multiple VCSs - add mercurial · 60db31ac
      Joe Perches 提交于
      Restructure a bit for multiple version control systems support.
      
      Use a hash for each supported VCS that contains the commands
      and patterns used to find commits, logs, and signers.
      
      --git command line options are still used for hg except for
      --git-since.  Use --hg-since instead.
      
      The number of commits can differ for git and hg, so --rolestats
      might be different.
      
      Style changes: Use common push style push(@foo...), simplify a return
      
      Bumped version to 0.23.
      Signed-off-by: NJoe Perches <joe@perches.com>
      Cc: Marti Raudsepp <marti@juffo.org>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      60db31ac
    • J
      scripts/get_maintainer.pl: fix --non with --git-blame and cleanups · a8af2430
      Joe Perches 提交于
      Fix email matching without name --n and --git-blame
         Using --non and --git-blame caused maintainer signature
         matching to fail.  Fixed that by adding 3rd argument to
         sub format_email to control show/hide name portion of address
      Slurp -f file instead of reading line-by-line for K: pattern matching.
         Suggested by Wolfram Sang as more efficient
      Refactor git command execution
         Break into 2 functions, execute/analyze
         Share code between --git and --git-blame
         Don't warn multiple times when git isn't installed
      Improve stats reporting
         --git-min-percent and -- rolestats now count the total number of commits
         for either the period of --git-since or if using --git-blame the commits
         used by the current file and calculate commit % as
            # of commits signed / total commits * 100
      Code style cleaning
         Use consistent sub foo { my (args...) = @_;
      Signed-off-by: NJoe Perches <joe@perches.com>
      Cc: Ben Hutchings <ben@decadent.org.uk>
      Cc: Greg KH <greg@kroah.com>
      Cc: Pavel Machek <pavel@ucw.cz>
      Cc: Wolfram Sang <w.sang@pengutronix.de>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      a8af2430
    • J
      scripts/get_maintainer.pl: add --roles and --rolestats · 3c7385b8
      Joe Perches 提交于
      --roles shows the role of each email address, i.e. why it was selected.
      --rolestats selects --roles and adds git log/blame signers #'s and %
      
      Multiple roles are possible (supporter, maintainer, git-signer...)
      
      --roles or --rolestats is meant to help identify appropriate maintainers
      to notify and should not be used with "git send-email --cc-cmd"
      
      Example output:
      
      Existing:
      
      $ ./scripts/get_maintainer.pl -f arch/x86/kernel/acpi/boot.c
      Corentin Chary <corentincj@iksaif.net>
      Karol Kozimor <sziwan@users.sourceforge.net>
      Len Brown <len.brown@intel.com>
      Pavel Machek <pavel@ucw.cz>
      Rafael J. Wysocki <rjw@sisk.pl>
      Thomas Gleixner <tglx@linutronix.de>
      Ingo Molnar <mingo@redhat.com>
      H. Peter Anvin <hpa@zytor.com>
      x86@kernel.org
      Yinghai Lu <yhlu.kernel@gmail.com>
      Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
      acpi4asus-user@lists.sourceforge.net
      linux-pm@lists.linux-foundation.org
      linux-kernel@vger.kernel.org
      
      With --roles
      
      $ ./scripts/get_maintainer.pl --roles -f arch/x86/kernel/acpi/boot.c
      Corentin Chary <corentincj@iksaif.net> (maintainer:ASUS ACPI EXTRAS...)
      Karol Kozimor <sziwan@users.sourceforge.net> (maintainer:ASUS ACPI EXTRAS...)
      Len Brown <len.brown@intel.com> (supporter:SUSPEND TO RAM,git-signer)
      Pavel Machek <pavel@ucw.cz> (supporter:SUSPEND TO RAM)
      Rafael J. Wysocki <rjw@sisk.pl> (supporter:SUSPEND TO RAM)
      Thomas Gleixner <tglx@linutronix.de> (maintainer:X86 ARCHITECTURE...)
      Ingo Molnar <mingo@redhat.com> (maintainer:X86 ARCHITECTURE...,git-signer)
      H. Peter Anvin <hpa@zytor.com> (maintainer:X86 ARCHITECTURE...)
      x86@kernel.org (maintainer:X86 ARCHITECTURE...)
      Yinghai Lu <yhlu.kernel@gmail.com> (git-signer)
      Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com> (git-signer)
      acpi4asus-user@lists.sourceforge.net (open list:ASUS ACPI EXTRAS...)
      linux-pm@lists.linux-foundation.org (open list:SUSPEND TO RAM)
      linux-kernel@vger.kernel.org (open list)
      
      With --rolestats
      
      $ ./scripts/get_maintainer.pl --rolestats -f arch/x86/kernel/acpi/boot.c
      Corentin Chary <corentincj@iksaif.net> (maintainer:ASUS ACPI EXTRAS...)
      Karol Kozimor <sziwan@users.sourceforge.net> (maintainer:ASUS ACPI EXTRAS...)
      Len Brown <len.brown@intel.com> (supporter:SUSPEND TO RAM,git-signer:16/79=20%)
      Pavel Machek <pavel@ucw.cz> (supporter:SUSPEND TO RAM)
      Rafael J. Wysocki <rjw@sisk.pl> (supporter:SUSPEND TO RAM)
      Thomas Gleixner <tglx@linutronix.de> (maintainer:X86 ARCHITECTURE...)
      Ingo Molnar <mingo@redhat.com> (maintainer:X86 ARCHITECTURE...,git-signer:29/79=37%)
      H. Peter Anvin <hpa@zytor.com> (maintainer:X86 ARCHITECTURE...)
      x86@kernel.org (maintainer:X86 ARCHITECTURE...)
      Yinghai Lu <yhlu.kernel@gmail.com> (git-signer:12/79=15%)
      Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com> (git-signer:6/79=8%)
      acpi4asus-user@lists.sourceforge.net (open list:ASUS ACPI EXTRAS...)
      linux-pm@lists.linux-foundation.org (open list:SUSPEND TO RAM)
      linux-kernel@vger.kernel.org (open list)
      
      With --rolestats and --git-blame
      
      $ ./scripts/get_maintainer.pl --rolestats --git-blame -f arch/x86/kernel/acpi/boot.c
      Corentin Chary <corentincj@iksaif.net> (maintainer:ASUS ACPI EXTRAS...)
      Karol Kozimor <sziwan@users.sourceforge.net> (maintainer:ASUS ACPI EXTRAS...)
      Len Brown <len.brown@intel.com> (supporter:SUSPEND TO RAM,git-signer:16/79=20%,commits:22/154=14%)
      Pavel Machek <pavel@ucw.cz> (supporter:SUSPEND TO RAM)
      Rafael J. Wysocki <rjw@sisk.pl> (supporter:SUSPEND TO RAM)
      Thomas Gleixner <tglx@linutronix.de> (maintainer:X86 ARCHITECTURE...)
      Ingo Molnar <mingo@redhat.com> (maintainer:X86 ARCHITECTURE...,git-signer:29/79=37%,commits:36/154=23%)
      H. Peter Anvin <hpa@zytor.com> (maintainer:X86 ARCHITECTURE...)
      x86@kernel.org (maintainer:X86 ARCHITECTURE...)
      Yinghai Lu <yhlu.kernel@gmail.com> (git-signer:12/79=15%,commits:9/154=6%)
      Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com> (git-signer:6/79=8%)
      Andi Kleen <ak@suse.de> (commits:11/154=7%)
      Andrew Morton <akpm@osdl.org> (commits:10/154=6%)
      acpi4asus-user@lists.sourceforge.net (open list:ASUS ACPI EXTRAS...)
      linux-pm@lists.linux-foundation.org (open list:SUSPEND TO RAM)
      linux-kernel@vger.kernel.org (open list)
      
      Other changes:
      
      Format git-signers email addresses a bit to reduce bad signatures
      Command line bad arguments emitted a verbose usage(), just show --help
      Version number bumped to .22
      
      Ben Hutchings had the idea and created a good deal of this implementation.
      Signed-off-by: NJoe Perches <joe@perches.com>
      Signed-off-by: NBen Hutchings <ben@decadent.org.uk>
      Cc: Greg KH <greg@kroah.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      3c7385b8
  11. 15 12月, 2009 3 次提交
  12. 14 12月, 2009 1 次提交
    • M
      microblaze: ftrace: Add dynamic trace support · 7d241ff0
      Michal Simek 提交于
      With dynamic function tracer, by default, _mcount is defined as an
      "empty" function, it returns directly without any more action. When
      enabling it in user-space, it will jump to a real tracing
      function(ftrace_caller), and do the real job for us.
      
      Differ from the static function tracer, dynamic function tracer provides
      two functions ftrace_make_call()/ftrace_make_nop() to enable/disable the
      tracing of some indicated kernel functions(set_ftrace_filter).
      
      In the kernel version, there is only one "_mcount" string for every
      kernel function, so, we just need to match this one in mcount_regex of
      scripts/recordmcount.pl.
      
      For more information please look at code and Documentation/trace folder.
      
      Steven ACK that scripts/recordmcount.pl part.
      Acked-by: NSteven Rostedt <rostedt@goodmis.org>
      Signed-off-by: NMichal Simek <monstr@monstr.eu>
      7d241ff0
  13. 12 12月, 2009 3 次提交
    • M
      kbuild: generate modules.builtin · bc081dd6
      Michal Marek 提交于
      To make it easier for module-init-tools and scripts like mkinitrd to
      distinguish builtin and missing modules, install a modules.builtin file
      listing all builtin modules. This is done by generating an additional
      config file (tristate.conf) with tristate options set to uppercase 'Y'
      or 'M'. If we source that config file, the builtin modules appear in
      obj-Y.
      Signed-off-by: NMichal Marek <mmarek@suse.cz>
      bc081dd6
    • J
      genksyms: properly consider EXPORT_UNUSED_SYMBOL{,_GPL}() · 6299fee7
      Jan Beulich 提交于
      Despite being unused these should also get a CRC calculated.
      Primarily I view this as a consistency thing.  But I also think this is
      one of the reasons why __crc_* need to be weak (which I think should be
      avoided, and hence we should have the goal to eliminate this so that
      failure to calculate a proper CRC for a symbol causes the build to fail).
      Signed-off-by: NJan Beulich <jbeulich@novell.com>
      Cc: Anibal Monsalve Salazar <anibal@debian.org>
      Cc: Steven Rostedt <rostedt@goodmis.org>
      Cc: Sam Ravnborg <sam@ravnborg.org>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NMichal Marek <mmarek@suse.cz>
      6299fee7
    • T
      unifdef: update to upstream revision 1.190 · d8379ab1
      Tony Finch 提交于
      Fix handling of input files (e.g. with no newline at EOF) that could
      make unifdef get into an unexpected state and call abort().
      
      The new -B option compresses blank lines around a deleted section
      so that blank lines around "paragraphs" of code don't get doubled.
      
      The evaluator can now handle macros with arguments, and unbracketed
      arguments to the "defined" operator.
      
      Add myself to MAINTAINERS for unifdef.
      Signed-off-by: NTony Finch <dot@dotat.at>
      Acked-by: NSam Ravnborg <sam@ravnborg.org>
      Signed-off-by: NMichal Marek <mmarek@suse.cz>
      d8379ab1