1. 06 Apr, 2008 5 commits
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/wim/linux-2.6-watchdog · c28cf0fd
      Linus Torvalds authored
      * git://git.kernel.org/pub/scm/linux/kernel/git/wim/linux-2.6-watchdog:
        [WATCHDOG] it8712f_wdt Zero MSB timeout byte when disabling watchdog
      c28cf0fd
    • Rusty Russell's avatar
      Fix booting pentium+ with dodgy TSC · 64ba4f23
      Rusty Russell authored
      We handle a broken tsc these days, so no need to panic.  We clear the
      TSC bit when tsc_init decides it's unreliable (eg.  under lguest w/ bad
      host TSC), leading to bogus panic.
      Signed-off-by: default avatarRusty Russell <rusty@rustcorp.com.au>
      Acked-by: default avatarIngo Molnar <mingo@elte.hu>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      64ba4f23
    • Jesse Barnes's avatar
      fix IS_I9XX macro in i915 DRM driver · 3bf48468
      Jesse Barnes authored
      Now that we're mapping registers in the DRM driver at load time, the
      driver actually checks the PCI ID, so we need to make sure the macros
      have all the right bits (and longer term use the DRM headers as the sole
      copy of the PCI & register definitions).
      
      This patch adds 945GME support to the DRM headers, fixing a regression
      reported in http://bugzilla.kernel.org/show_bug.cgi?id=10395.
      Tested-by: default avatarAlexander Oltu <alexander@all-2.com>
      Signed-off-by: default avatarJesse Barnes <jesse.barnes@intel.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      3bf48468
    • Hugh Dickins's avatar
      scsi: fix sense_slab/bio swapping livelock · 164fc5dc
      Hugh Dickins authored
      Since 2.6.25-rc7, I've been seeing an occasional livelock on one x86_64
      machine, copying kernel trees to tmpfs, paging out to swap.
      
      Signature: 6000 pages under writeback but never getting written; most
      tasks of interest trying to reclaim, but each get_swap_bio waiting for a
      bio in mempool_alloc's io_schedule_timeout(5*HZ); every five seconds an
      atomic page allocation failure report from kblockd failing to allocate a
      sense_buffer in __scsi_get_command.
      
      __scsi_get_command has a (one item) free_list to protect against this,
      but rc1's [SCSI] use dynamically allocated sense buffer
      de25deb1 upset that slightly.  When it
      fails to allocate from the separate sense_slab, instead of giving up, it
      must fall back to the command free_list, which is sure to have a
      sense_buffer attached.
      
      Either my earlier -rc testing missed this, or there's some recent
      contributory factor.  One very significant factor is SLUB, which merges
      slab caches when it can, and on 64-bit happens to merge both bio cache
      and sense_slab cache into kmalloc's 128-byte cache: so that under this
      swapping load, bios above are liable to gobble up all the slots needed
      for scsi_cmnd sense_buffers below.
      
      That's disturbing behaviour, and I tried a few things to fix it.  Adding
      a no-op constructor to the sense_slab inhibits SLUB from merging it, and
      stops all the allocation failures I was seeing; but it's rather a hack,
      and perhaps in different configurations we have other caches on the
      swapout path which are ill-merged.
      
      Another alternative is to revert the separate sense_slab, using
      cache-line-aligned sense_buffer allocated beyond scsi_cmnd from the one
      kmem_cache; but that might waste more memory, and is only a way of
      diverting around the known problem.
      
      While I don't like seeing the allocation failures, and hate the idea of
      all those bios piled up above a scsi host working one by one, it does
      seem to emerge fairly soon with the livelock fix.  So lacking better
      ideas, stick with that one clear fix for now.
      Signed-off-by: default avatarHugh Dickins <hugh@veritas.com>
      Cc: James Bottomley <James.Bottomley@HansenPartnership.com>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Cc: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
      Cc: Jens Axboe <jens.axboe@oracle.com>
      Cc: Christoph Lameter <clameter@sgi.com>
      Cc: Pekka Enberg <penberg@cs.helsinki.fi>
      Cc: Peter Zijlstra <a.p.ziljstra@chello.nl>
      Cc: Rafael J. Wysocki <rjw@sisk.pl>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      164fc5dc
    • Andrew Paprocki's avatar
      [WATCHDOG] it8712f_wdt Zero MSB timeout byte when disabling watchdog · cc1020f1
      Andrew Paprocki authored
      I noticed this while testing the latest code. I'm not sure if it is required,
      but the normal (or LSB) timeout value is set to zero, so the MSB should
      be as well to stay consistent.
      
      If the chip revision is >= 8, set MSB of the 16-bit timeout value to zero
      when disabling the watchdog in it8712f_wdt_disable().
      Signed-off-by: default avatarAndrew Paprocki <andrew@ishiboo.com>
      Signed-off-by: default avatarWim Van Sebroeck <wim@iguana.be>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      cc1020f1
  2. 05 Apr, 2008 1 commit
  3. 04 Apr, 2008 27 commits
  4. 03 Apr, 2008 7 commits