1. 07 1月, 2009 3 次提交
    • A
      checkpatch: comment detection may miss an implied comment on the last hunk · 721c1cb6
      Andy Whitcroft 提交于
      When detecting implied comments from leading stars we may incorrectly
      think we have detected an edge one way or the other when we have not if we
      drop off the end of the last hunk.  Fix this up.
      Signed-off-by: NAndy Whitcroft <apw@shadowen.org>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      721c1cb6
    • A
      checkpatch: add checks for in_atomic() · 691d77b6
      Andy Whitcroft 提交于
      in_atomic() is not for driver use so report any such use as an ERROR.
      Also in_atomic() is often used to determine if we may sleep, but it is not
      reliable in this use model therefore strongly discourage its use.
      Signed-off-by: NAndy Whitcroft <apw@shadowen.org>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      691d77b6
    • A
      scripts: script from kerneloops.org to pretty print oops dumps · 5aea50b5
      Arjan van de Ven 提交于
      We're struggling all the time to figure out where the code came from that
      oopsed..  The script below (a adaption from a script used by
      kerneloops.org) can help developers quite a bit, at least for non-module
      cases.
      
      It works and looks like this:
      
      [/home/arjan/linux]$ dmesg | perl scripts/markup_oops.pl vmlinux
       {
       	struct agp_memory *memory;
      
       	memory = agp_allocate_memory(agp_bridge, pg_count, type);
       c055c10f:	89 c2                	mov    %eax,%edx
       	if (memory == NULL)
       c055c111:	74 19                	je     c055c12c <agp_allocate_memory_wrap+0x30>
       /* This function must only be called when current_controller != NULL */
       static void agp_insert_into_pool(struct agp_memory * temp)
       {
       	struct agp_memory *prev;
      
       	prev = agp_fe.current_controller->pool;
       c055c113:	a1 ec dc 8f c0       	mov    0xc08fdcec,%eax
      *c055c118:	8b 40 10             	mov    0x10(%eax),%eax     <----- faulting instruction
      
       	if (prev != NULL) {
       c055c11b:	85 c0                	test   %eax,%eax
       c055c11d:	74 05                	je     c055c124 <agp_allocate_memory_wrap+0x28>
       		prev->prev = temp;
       c055c11f:	89 50 04             	mov    %edx,0x4(%eax)
       		temp->next = prev;
       c055c122:	89 02                	mov    %eax,(%edx)
       	}
       	agp_fe.current_controller->pool = temp;
       c055c124:	a1 ec dc 8f c0       	mov    0xc08fdcec,%eax
       c055c129:	89 50 10             	mov    %edx,0x10(%eax)
       	if (memory == NULL)
       		return NULL;
      
       	agp_insert_into_pool(memory);
      
      so in this case, we faulted while dereferencing agp_fe.current_controller
      pointer, and we get to see exactly which function and line it affects...
      Personally I find this very useful, and I can see value for having this
      script in the kernel for more-than-just-me to use.
      
      Caveats:
      * It only works for oopses not-in-modules
      * It only works nicely for kernels compiled with CONFIG_DEBUG_INFO
      * It's not very fast.
      * It only works on x86
      Signed-off-by: NArjan van de Ven <arjan@linux.intel.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      5aea50b5
  2. 03 1月, 2009 10 次提交
  3. 22 12月, 2008 1 次提交
  4. 20 12月, 2008 4 次提交
    • J
      allow stripping of generated symbols under CONFIG_KALLSYMS_ALL · 9bb48247
      Jan Beulich 提交于
      Building upon parts of the module stripping patch, this patch
      introduces similar stripping for vmlinux when CONFIG_KALLSYMS_ALL=y.
      Using CONFIG_KALLSYMS_STRIP_GENERATED reduces the overhead of
      CONFIG_KALLSYMS_ALL from 245k/310k to 65k/80k for the (i386/x86-64)
      kernels I tested with.
      
      The patch also does away with the need to special case the kallsyms-
      internal symbols by making them available even in the first linking
      stage.
      
      While it is a generated file, the patch includes the changes to
      scripts/genksyms/keywords.c_shipped, as I'm unsure what the procedure
      here is.
      Signed-off-by: NJan Beulich <jbeulich@novell.com>
      Signed-off-by: NSam Ravnborg <sam@ravnborg.org>
      9bb48247
    • J
      kbuild: strip generated symbols from *.ko · ad7a953c
      Jan Beulich 提交于
      This patch changes the way __crc_ symbols are being resolved from
      using ld to do so to using the assembler, thus allowing these symbols
      to be marked local (the linker creates then as global ones) and hence
      allow stripping (for modules) or ignoring (for vmlinux) them. While at
      this, also strip other generated symbols during module installation.
      
      One potentially debatable point is the handling of the flags passeed
      to gcc when translating the intermediate assembly file into an object:
      passing $(c_flags) unchanged doesn't work as gcc passes --gdwarf2 to
      gas whenever is sees any -g* option, even for -g0, and despite the
      fact that the compiler would have already produced all necessary debug
      info in the C->assembly translation phase. I took the approach of just
      filtering out all -g* options, but an alternative to such negative
      filtering might be to have a positive filter which might, in the ideal
      case allow just all the -Wa,* options to pass through.
      Signed-off-by: NJan Beulich <jbeulich@novell.com>
      Signed-off-by: NSam Ravnborg <sam@ravnborg.org>
      ad7a953c
    • S
      kbuild: simplify use of genksyms · 37a8d9f6
      Sam Ravnborg 提交于
      Avoid duplicating long list of options in two places
      Signed-off-by: NSam Ravnborg <sam@ravnborg.org>
      37a8d9f6
    • R
      kernel-doc: check for extra kernel-doc notations · a1d94aa5
      Randy Dunlap 提交于
      Add functionality to check for function parameters or structure (or
      union/typedef/enum) field members that are described in kernel-doc but
      are not part of the expected (declared) parameters or structure.
      These generate warnings that are called "Excess" descriptions.
      Signed-off-by: NRandy Dunlap <randy.dunlap@oracle.com>
      Signed-off-by: NSam Ravnborg <sam@ravnborg.org>
      a1d94aa5
  5. 19 12月, 2008 1 次提交
  6. 14 12月, 2008 2 次提交
  7. 12 12月, 2008 1 次提交
  8. 06 12月, 2008 1 次提交
  9. 04 12月, 2008 15 次提交
  10. 02 12月, 2008 1 次提交
  11. 26 11月, 2008 1 次提交
    • A
      tracing: add "power-tracer": C/P state tracer to help power optimization · f3f47a67
      Arjan van de Ven 提交于
      Impact: new "power-tracer" ftrace plugin
      
      This patch adds a C/P-state ftrace plugin that will generate
      detailed statistics about the C/P-states that are being used,
      so that we can look at detailed decisions that the C/P-state
      code is making, rather than the too high level "average"
      that we have today.
      
      An example way of using this is:
      
       mount -t debugfs none /sys/kernel/debug
       echo cstate > /sys/kernel/debug/tracing/current_tracer
       echo 1 > /sys/kernel/debug/tracing/tracing_enabled
       sleep 1
       echo 0 > /sys/kernel/debug/tracing/tracing_enabled
       cat /sys/kernel/debug/tracing/trace | perl scripts/trace/cstate.pl > out.svg
      Signed-off-by: NArjan van de Ven <arjan@linux.intel.com>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      f3f47a67