Skip to content
  1. Sep 07, 2009
  2. Aug 22, 2009
    • Linus Torvalds's avatar
      Linux 2.6.31-rc7 · 422bef87
      Linus Torvalds authored
      v2.6.31-rc7
      422bef87
    • Linus Torvalds's avatar
      Re-introduce page mapping check in mark_buffer_dirty() · 8e9d78ed
      Linus Torvalds authored
      In commit a8e7d49a
      
       ("Fix race in
      create_empty_buffers() vs __set_page_dirty_buffers()"), I removed a test
      for a NULL page mapping unintentionally when some of the code inside
      __set_page_dirty() was moved to the callers.
      
      That removal generally didn't matter, since a filesystem would serialize
      truncation (which clears the page mapping) against writing (which marks
      the buffer dirty), so locking at a higher level (either per-page or an
      inode at a time) should mean that the buffer page would be stable.  And
      indeed, nothing bad seemed to happen.
      
      Except it turns out that apparently reiserfs does something odd when
      under load and writing out the journal, and we have a number of bugzilla
      entries that look similar:
      
      	http://bugzilla.kernel.org/show_bug.cgi?id=13556
      	http://bugzilla.kernel.org/show_bug.cgi?id=13756
      	http://bugzilla.kernel.org/show_bug.cgi?id=13876
      
      and it looks like reiserfs depended on that check (the common theme
      seems to be "data=journal", and a journal writeback during a truncate).
      
      I suspect reiserfs should have some additional locking, but in the
      meantime this should get us back to the pre-2.6.29 behavior.
      
      Pattern-pointed-out-by: default avatarRoland Kletzing <devzero@web.de>
      Cc: stable@kernel.org (2.6.29 and 2.6.30)
      Cc: Jeff Mahoney <jeffm@suse.com>
      Cc: Nick Piggin <npiggin@suse.de>
      Cc: Al Viro <viro@zeniv.linux.org.uk>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      8e9d78ed
    • Linus Torvalds's avatar
      Merge branch 'drm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6 · 4dfd79e7
      Linus Torvalds authored
      * 'drm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6:
        drm/radeon: add GET_PARAM/INFO support for Z pipes
        drm/radeon/kms: add r100/r200 OQ support.
        drm: Fix sysfs device confusion.
        drm/radeon/kms: implement the bo busy ioctl properly.
      4dfd79e7
    • Linus Torvalds's avatar
      Merge branch 'btrfs' of git://git.kernel.dk/linux-2.6-block · b57f9215
      Linus Torvalds authored
      * 'btrfs' of git://git.kernel.dk/linux-2.6-block:
        btrfs: fix inode rbtree corruption
      b57f9215
    • Linus Torvalds's avatar
      x86: don't call '->send_IPI_mask()' with an empty mask · b04e6373
      Linus Torvalds authored
      As noted in 83d349f3 ("x86: don't send
      an IPI to the empty set of CPU's"), some APIC's will be very unhappy
      with an empty destination mask.  That commit added a WARN_ON() for that
      case, and avoided the resulting problem, but didn't fix the underlying
      reason for why those empty mask cases happened.
      
      This fixes that, by checking the result of 'cpumask_andnot()' of the
      current CPU actually has any other CPU's left in the set of CPU's to be
      sent a TLB flush, and not calling down to the IPI code if the mask is
      empty.
      
      The reason this started happening at all is that we started passing just
      the CPU mask pointers around in commit 4595f962
      
       ("x86: change
      flush_tlb_others to take a const struct cpumask"), and when we did that,
      the cpumask was no longer thread-local.
      
      Before that commit, flush_tlb_mm() used to create it's own copy of
      'mm->cpu_vm_mask' and pass that copy down to the low-level flush
      routines after having tested that it was not empty.  But after changing
      it to just pass down the CPU mask pointer, the lower level TLB flush
      routines would now get a pointer to that 'mm->cpu_vm_mask', and that
      could still change - and become empty - after the test due to other
      CPU's having flushed their own TLB's.
      
      See
      
      	http://bugzilla.kernel.org/show_bug.cgi?id=13933
      
      for details.
      
      Tested-by: default avatarThomas Björnell <thomas.bjornell@gmail.com>
      Cc: stable@kernel.org
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      b04e6373
    • Linus Torvalds's avatar
      Make bitmask 'and' operators return a result code · f4b0373b
      Linus Torvalds authored
      
      
      When 'and'ing two bitmasks (where 'andnot' is a variation on it), some
      cases want to know whether the result is the empty set or not.  In
      particular, the TLB IPI sending code wants to do cpumask operations and
      determine if there are any CPU's left in the final set.
      
      So this just makes the bitmask (and cpumask) functions return a boolean
      for whether the result has any bits set.
      
      Cc: stable@kernel.org (2.6.30, needed by TLB shootdown fix)
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      f4b0373b
    • Linus Torvalds's avatar
      x86: don't send an IPI to the empty set of CPU's · 83d349f3
      Linus Torvalds authored
      The default_send_IPI_mask_logical() function uses the "flat" APIC mode
      to send an IPI to a set of CPU's at once, but if that set happens to be
      empty, some older local APIC's will apparently be rather unhappy.  So
      just warn if a caller gives us an empty mask, and ignore it.
      
      This fixes a regression in 2.6.30.x, due to commit 4595f962
      
       ("x86:
      change flush_tlb_others to take a const struct cpumask"), documented
      here:
      
      	http://bugzilla.kernel.org/show_bug.cgi?id=13933
      
      which causes a silent lock-up.  It only seems to happen on PPro, P2, P3
      and Athlon XP cores.  Most developers sadly (or not so sadly, if you're
      a developer..) have more modern CPU's.  Also, on x86-64 we don't use the
      flat APIC mode, so it would never trigger there even if the APIC didn't
      like sending an empty IPI mask.
      
      Reported-by: default avatarPavel Vilim <wylda@volny.cz>
      Reported-and-tested-by: default avatarThomas Björnell <thomas.bjornell@gmail.com>
      Reported-and-tested-by: default avatarMartin Rogge <marogge@onlinehome.de>
      Cc: Mike Travis <travis@sgi.com>
      Cc: Ingo Molnar <mingo@elte.hu>
      Cc: stable@kernel.org
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      83d349f3
  3. Aug 21, 2009
  4. Aug 20, 2009
    • Takashi Iwai's avatar
      ALSA: hda - Fix probe of Toshiba laptops with ALC268 codec · 3abf2f36
      Takashi Iwai authored
      
      
      There are many variants of Toshiba laptops with ALC268 codec, and
      it seems that a few of them don't work with model=toshiba preset
      since they have the secondary ALC268 codec just for HDMI output.
      This is a regression due to the previous clean-up work to merge all
      Toshiba quirk entries into a single check.
      
      This patch adds the identification of such laptops to apply the
      standard BIOS-probing method.  Unfortunately, Toshiba laptops have
      all the same PCI SSID, so we need to check the codec SSID to identify
      each device.
      
      Tested-by: default avatarAlexey Dobriyan <adobriyan@gmail.com>
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      3abf2f36
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ryusuke/nilfs2 · 6c30c53f
      Linus Torvalds authored
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ryusuke/nilfs2:
        nilfs2: fix oopses with doubly mounted snapshots
        nilfs2: missing a read lock for segment writer in nilfs_attach_checkpoint()
      6c30c53f
    • Anton Blanchard's avatar
      AFS: Documentation updates · 0dc9aa84
      Anton Blanchard authored
      
      
      Fix some issues with the AFS documentation, found when testing AFS on ppc64:
      
      - Update AFS features: reading/writing, local caching
      - Typo in kafs sysfs debug file
      - Use modprobe instead of insmod in example
      - Update IPs for grand.central.org
      
      Signed-off-by: default avatarAnton Blanchard <anton@samba.org>
      Signed-off-by: default avatarDavid Howells <dhowells@redhat.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      0dc9aa84
    • Linus Torvalds's avatar
      Merge branch 'drm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6 · cad2c8fd
      Linus Torvalds authored
      * 'drm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6:
        drm/kms: teardown crtc correctly when fb is destroyed.
        drm/kms/radeon: cleanup combios TV table like DDX.
        drm/radeon/kms: memset the allocated framebuffer before using it.
        drm/radeon/kms: although LVDS might be possible on crtc 1 don't do it.
        drm/radeon/kms: implement bo busy check + current domain
        drm/radeon/kms: cut down indirects in register accesses.
        drm/radeon/kms: Fix up vertical blank interrupt support.
        drm/radeon/kms: add rv530 R300_SU_REG_DEST + reloc for ZPASS_ADDR
        drm/edid: fixup detailed timings like the X server.
        drm/radeon/kms: Add specific rs690 authorized register table
      cad2c8fd
    • Linus Torvalds's avatar
      Merge branch 'next' of git://git.monstr.eu/linux-2.6-microblaze · 4aa2d56b
      Linus Torvalds authored
      * 'next' of git://git.monstr.eu/linux-2.6-microblaze:
        microblaze: Update Microblaze defconfigs
        microblaze: Use klimit instead of _end for memory init
        microblaze: Enable ppoll syscall
        microblaze: Sane handling of missing timer/intc in device tree
        microblaze: use the generic ack_bad_irq implementation
      4aa2d56b
    • Linus Torvalds's avatar
      Merge branch 'perfcounters-fixes-for-linus-2' of... · d46c7d9a
      Linus Torvalds authored
      Merge branch 'perfcounters-fixes-for-linus-2' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
      
      * 'perfcounters-fixes-for-linus-2' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
        perf tools: Make 'make html' work
        perf annotate: Fix segmentation fault
        perf_counter: Fix the PARISC build
        perf_counter: Check task on counter read IPI
        perf: Rename perf-examples.txt to examples.txt
        perf record: Fix typo in pid_synthesize_comm_event
      d46c7d9a
  5. Aug 19, 2009