1. 22 7月, 2007 6 次提交
    • A
      x86: Support __attribute__((__cold__)) in gcc 4.3 · a586df06
      Andi Kleen 提交于
      gcc 4.3 supports a new __attribute__((__cold__)) to mark functions cold. Any
      path directly leading to a call of this function will be unlikely. And gcc
      will try to generate smaller code for the function itself.
      
      Please use with care. The code generation advantage isn't large and in most
      cases it is not worth uglifying code with this.
      
      This patch marks some common error functions like panic(), printk()
      as cold.  This will longer term make many unlikely()s unnecessary, although
      we can keep them for now for older compilers.
      
      BUG is not marked cold because there is currently no way to tell
      gcc to mark a inline function told.
      
      Also all __init and __exit functions are marked cold. With a non -Os
      build this will tell the compiler to generate slightly smaller code
      for them. I think it currently only uses less alignments for labels,
      but that might change in the future.
      
      One disadvantage over *likely() is that they cannot be easily instrumented
      to verify them.
      
      Another drawback is that only the latest gcc 4.3 snapshots support this.
      Unfortunately we cannot detect this using the preprocessor. This means older
      snapshots will fail now. I don't think that's a problem because they are
      unreleased compilers that nobody should be using.
      
      gcc also has a __hot__ attribute, but I don't see any sense in using
      this in the kernel right now. But someday I hope gcc will be able
      to use more aggressive optimizing for hot functions even in -Os,
      if that happens it should be added.
      
      Includes compile fix from Thomas Gleixner.
      
      Cc: Jan Hubicka <jh@suse.cz>
      Signed-off-by: NAndi Kleen <ak@suse.de>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      a586df06
    • D
      x86_64: various cleanups in NUMA scan node · ae2c6dcf
      David Rientjes 提交于
      In acpi_scan_nodes(), we immediately return -1 if acpi_numa <= 0, meaning
      we haven't detected any underlying ACPI topology or we have explicitly
      disabled its use from the command-line with numa=noacpi.
      
      acpi_table_print_srat_entry() and acpi_table_parse_srat() are only
      referenced within drivers/acpi/numa.c, so we can mark them as static and
      remove their prototypes from the header file.
      
      Likewise, pxm_to_node_map[] and node_to_pxm_map[] are only used within
      drivers/acpi/numa.c, so we mark them as static and remove their externs
      from the header file.
      
      The automatic 'result' variable is unused in acpi_numa_init(), so it's
      removed.
      Signed-off-by: NDavid Rientjes <rientjes@google.com>
      Signed-off-by: NAndi Kleen <ak@suse.de>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      ae2c6dcf
    • T
      NTP: move the cmos update code into ntp.c · 82644459
      Thomas Gleixner 提交于
      i386 and sparc64 have the identical code to update the cmos clock.  Move it
      into kernel/time/ntp.c as there are other architectures coming along with the
      same requirements.
      
      [akpm@linux-foundation.org: build fixes]
      Signed-off-by: NThomas Gleixner <tglx@linutronix.de>
      Cc: Chris Wright <chrisw@sous-sol.org>
      Cc: Ingo Molnar <mingo@elte.hu>
      Cc: john stultz <johnstul@us.ibm.com>
      Cc: David Miller <davem@davemloft.net>
      Cc: Roman Zippel <zippel@linux-m68k.org>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      82644459
    • T
      clockevents: fix resume logic · 18de5bc4
      Thomas Gleixner 提交于
      We need to make sure, that the clockevent devices are resumed, before
      the tick is resumed. The current resume logic does not guarantee this.
      
      Add CLOCK_EVT_MODE_RESUME and call the set mode functions of the clock
      event devices before resuming the tick / oneshot functionality.
      
      Fixup the existing users.
      
      Thanks to Nigel Cunningham for tracking down a long standing thinko,
      which affected the jinxed VAIO.
      
      [akpm@linux-foundation.org: xen build fix]
      Signed-off-by: NThomas Gleixner <tglx@linutronix.de>
      Cc: john stultz <johnstul@us.ibm.com>
      Cc: Rusty Russell <rusty@rustcorp.com.au>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      18de5bc4
    • T
      clockevents: remove prototypes of removed functions · 93da56ef
      Thomas Gleixner 提交于
      Signed-off-by: NThomas Gleixner <tglx@linutronix.de>
      Cc: john stultz <johnstul@us.ibm.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      93da56ef
    • J
      coda: remove CODA_STORE/CODA_RELEASE upcalls · d3fec424
      Jan Harkes 提交于
      This is an variation on the patch sent by Christoph Hellwig which kills
      file_count abuse by the Coda kernel module by moving the coda_flush
      functionality into coda_release.  However part of reason we were using the
      coda_flush callback was to allow Coda to pass errors that occur during
      writeback from the userspace cache manager back to close().
      
      As Al Viro explained on linux-fsdevel, it is impossible to guarantee that
      such errors can in fact be returned back to the caller.  There are many
      cases where the last reference to a file is not released by the close
      system call and it is also impossible to pick some close as a 'last-close'
      and delay it until all other references have been destroyed.
      
      The CODA_STORE/CODA_RELEASE upcall combination is clearly a broken design,
      and it is better to remove it completely.
      Signed-off-by: NJan Harkes <jaharkes@cs.cmu.edu>
      Cc: Christoph Hellwig <hch@lst.de>
      Cc: Al Viro <viro@ftp.linux.org.uk>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      d3fec424
  2. 21 7月, 2007 6 次提交
  3. 20 7月, 2007 28 次提交