1. 02 Feb, 2010 1 commit
  2. 29 Jan, 2010 8 commits
    • Linus Torvalds's avatar
      Linux 2.6.33-rc6 · abe94c75
      Linus Torvalds authored
      abe94c75
    • Dmitry Artamonow's avatar
      mfd: Fix asic3 build · 4995c0b3
      Dmitry Artamonow authored
      asic3 also needs tmio_core or otherwise will fail to build.
      Signed-off-by: default avatarDmitry Artamonow <mad_soft@inbox.ru>
      Signed-off-by: default avatarSamuel Ortiz <sameo@linux.intel.com>
      4995c0b3
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input · 499a2673
      Linus Torvalds authored
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input:
        Input: update multi-touch protocol documentation
        Input: add the ABS_MT_PRESSURE event
        Input: winbond-cir - remove dmesg spam
        Input: lifebook - add another Lifebook DMI signature
        Input: ad7879 - support auxiliary GPIOs via gpiolib
      499a2673
    • Hugh Dickins's avatar
      mm: fix migratetype bug which slowed swapping · a7016235
      Hugh Dickins authored
      After memory pressure has forced it to dip into the reserves, 2.6.32's
      5f8dcc21 "page-allocator: split per-cpu
      list into one-list-per-migrate-type" has been returning MIGRATE_RESERVE
      pages to the MIGRATE_MOVABLE free_list: in some sense depleting reserves.
      
      Fix that in the most straightforward way (which, considering the overheads
      of alternative approaches, is Mel's preference): the right migratetype is
      already in page_private(page), but free_pcppages_bulk() wasn't using it.
      
      How did this bug show up?  As a 20% slowdown in my tmpfs loop kbuild
      swapping tests, on PowerMac G5 with SLUB allocator.  Bisecting to that
      commit was easy, but explaining the magnitude of the slowdown not easy.
      
      The same effect appears, but much less markedly, with SLAB, and even
      less markedly on other machines (the PowerMac divides into fewer zones
      than x86, I think that may be a factor).  We guess that lumpy reclaim
      of short-lived high-order pages is implicated in some way, and probably
      this bug has been tickling a poor decision somewhere in page reclaim.
      
      But instrumentation hasn't told me much, I've run out of time and
      imagination to determine exactly what's going on, and shouldn't hold up
      the fix any longer: it's valid, and might even fix other misbehaviours.
      Signed-off-by: default avatarHugh Dickins <hugh.dickins@tiscali.co.uk>
      Acked-by: default avatarMel Gorman <mel@csn.ul.ie>
      Cc: stable@kernel.org
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      a7016235
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable · 67f15b06
      Linus Torvalds authored
      * git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable:
        Btrfs: check total number of devices when removing missing
        Btrfs: check return value of open_bdev_exclusive properly
        Btrfs: do not mark the chunk as readonly if in degraded mode
        Btrfs: run orphan cleanup on default fs root
        Btrfs: fix a memory leak in btrfs_init_acl
        Btrfs: Use correct values when updating inode i_size on fallocate
        Btrfs: remove tree_search() in extent_map.c
        Btrfs: Add mount -o compress-force
      67f15b06
    • David Miller's avatar
      sparc: TIF_ABI_PENDING bit removal · 94673e96
      David Miller authored
      Here are the sparc bits to remove TIF_ABI_PENDING now that
      set_personality() is called at the appropriate place in exec.
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      Cc: stable@kernel.org
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      94673e96
    • H. Peter Anvin's avatar
      x86: get rid of the insane TIF_ABI_PENDING bit · 05d43ed8
      H. Peter Anvin authored
      Now that the previous commit made it possible to do the personality
      setting at the point of no return, we do just that for ELF binaries.
      And suddenly all the reasons for that insane TIF_ABI_PENDING bit go
      away, and we can just make SET_PERSONALITY() just do the obvious thing
      for a 32-bit compat process.
      
      Everything becomes much more straightforward this way.
      Signed-off-by: default avatarH. Peter Anvin <hpa@zytor.com>
      Cc: stable@kernel.org
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      05d43ed8
    • Linus Torvalds's avatar
      Split 'flush_old_exec' into two functions · 221af7f8
      Linus Torvalds authored
      'flush_old_exec()' is the point of no return when doing an execve(), and
      it is pretty badly misnamed.  It doesn't just flush the old executable
      environment, it also starts up the new one.
      
      Which is very inconvenient for things like setting up the new
      personality, because we want the new personality to affect the starting
      of the new environment, but at the same time we do _not_ want the new
      personality to take effect if flushing the old one fails.
      
      As a result, the x86-64 '32-bit' personality is actually done using this
      insane "I'm going to change the ABI, but I haven't done it yet" bit
      (TIF_ABI_PENDING), with SET_PERSONALITY() not actually setting the
      personality, but just the "pending" bit, so that "flush_thread()" can do
      the actual personality magic.
      
      This patch in no way changes any of that insanity, but it does split the
      'flush_old_exec()' function up into a preparatory part that can fail
      (still called flush_old_exec()), and a new part that will actually set
      up the new exec environment (setup_new_exec()).  All callers are changed
      to trivially comply with the new world order.
      Signed-off-by: default avatarH. Peter Anvin <hpa@zytor.com>
      Cc: stable@kernel.org
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      221af7f8
  3. 28 Jan, 2010 21 commits
  4. 27 Jan, 2010 10 commits
    • David VomLehn's avatar
      MIPS: PowerTV: Fix support for timer interrupts with > 64 external IRQs · 010c108d
      David VomLehn authored
      The MIPS processor is limited to 64 external interrupt sources. Using a
      greater number without IRQ sharing requires reading platform-specific
      registers. On such platforms, reading the IntCtl register to determine
      which interrupt corresponds to a timer interrupt will not work.
      
      On MIPSR2 systems there is a solution - the TI bit in the Cause register,
      specifically indicates that a timer interrupt has occured. This patch uses
      that bit to detect interrupts for MIPSR2 processors, which may be expected
      to work regardless of how the timer interrupt may be routed in the hardware.
      
      Signed-off-by: David VomLehn (dvomlehn@cisco.com)
      To: linux-mips@linux-mips.org
      Patchwork: http://patchwork.linux-mips.org/patch/804/Signed-off-by: default avatarRalf Baechle <ralf@linux-mips.org>
      010c108d
    • David VomLehn's avatar
      MIPS: PowerTV: Streamline access to platform device registers · 59dfa2fc
      David VomLehn authored
      Pre-compute addresses for the basic ASIC registers. This speeds up access
      and allows memory for unused configurations to be freed. In addition,
      uninitialized register addresses will be returned as NULL to catch bad
      usage quickly.
      Signed-off-by: default avatarDavid VomLehn <dvomlehn@cisco.com>
      To: linux-mips@linux-mips.org
      Patchwork: http://patchwork.linux-mips.org/patch/806/Signed-off-by: default avatarRalf Baechle <ralf@linux-mips.org>
      59dfa2fc
    • Alexander Clouter's avatar
      MIPS: Fix vmlinuz build for 32bit-only math shells · 9c4a6fce
      Alexander Clouter authored
      POSIX requires $((<expression>)) arithmetic in sh only to have long
      arithmetic so on 32-bit sh binaries might do only 32-bit arithmetic but
      the arithmetic done in arch/mips/boot/compressed/Makefile needs 64-bit.
      
      I play with the AR7 platform, so VMLINUX_LOAD_ADDRESS is
      0xffffffff94100000, and for an example 4MiB kernel
      VMLINUZ_LOAD_ADDRESS is made out to be:
      ----
      alex@berk:~$ bash -c 'printf "%x\n" $((0xffffffff94100000 + 0x400000))'
      ffffffff94500000
      alex@berk:~$ dash -c 'printf "%x\n" $((0xffffffff94100000 + 0x400000))'
      80000000003fffff
      ----
      
      The former is obviously correct whilst the later breaks things royally.
      
      Fortunately working with only the lower 32bit's works for both bash and
      dash:
      ----
      $ bash -c 'printf "%x\n" $((0x94100000 + 0x400000))'
      94500000
      $ dash -c 'printf "%x\n" $((0x94100000 + 0x400000))'
      94500000
      ----
      
      So, we can split the original 64bit string to two parts, and only
      calculate the low 32bit part, which is big enough (1GiB kernel sizes
      anyone?) for a normal Linux kernel image file, now, we calculate the
      VMLINUZ_LOAD_ADDRESS like this:
      
      1. if present, append top 32bit of VMLINUX_LOAD_ADDRESS" as a prefix
      2. get the sum of the low 32bit of VMLINUX_LOAD_ADDRESS + VMLINUX_SIZE
      
      This patch fixes vmlinuz kernel builds on systems where only a
      32bit-only math shell is available.
      
      Patch Changelog:
        Version 2
          - simplified method by using 'expr' for 'substr' and making it work
      	with dash once again
        Version 1
          - Revert the removals of '-n "$(VMLINUX_SIZE)"' to avoid the error
              of "make clean"
          - Consider more cases of the VMLINUX_LOAD_ADDRESS
        Version 0
          - initial release
      Signed-off-by: default avatarAlexander Clouter <alex@digriz.org.uk>
      Acked-by: default avatarWu Zhangjin <wuzhangjin@gmail.com>
      Patchwork: http://patchwork.linux-mips.org/patch/861/Signed-off-by: default avatarRalf Baechle <ralf@linux-mips.org>
      9c4a6fce
    • Wu Zhangjin's avatar
      MIPS: Add support of LZO-compressed kernels · fe1d45e0
      Wu Zhangjin authored
      The necessary changes to the x86 Kconfig and boot/compressed to allow the
      use of this new compression method.
      Signed-off-by: default avatarWu Zhangjin <wuzhangjin@gmail.com>
      Cc: linux-mips@linux-mips.org
      Cc: Sergei Shtylyov <sshtylyov@ru.mvista.com>
      Patchwork: http://patchwork.linux-mips.org/patch/857/Signed-off-by: default avatarRalf Baechle <ralf@linux-mips.org>
      fe1d45e0
    • Russell King's avatar
      00e4acb1
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6 · be8cde8b
      Linus Torvalds authored
      * git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6:
        [SCSI] aic79xx: check for non-NULL scb in ahd_handle_nonpkt_busfree
        [SCSI] zfcp: Set hardware timeout as requested by BSG request.
        [SCSI] zfcp: Introduce bsg_timeout callback.
        [SCSI] scsi_transport_fc: Allow LLD to reset FC BSG timeout
        [SCSI] zfcp: add missing compat ptr conversion
        [SCSI] zfcp: Fix linebreak in hba trace
        [SCSI] zfcp: Issue zfcp_fc_wka_port_put after FC CT BSG request
        [SCSI] qla2xxx: Update version number to 8.03.01-k10.
        [SCSI] fc-transport: Use packed modifier for fc_bsg_request structure.
        [SCSI] qla2xxx: Perform fast mailbox read of flash regardless of size nor address alignment.
        [SCSI] qla2xxx: Correct FCP2 recovery handling.
        [SCSI] scsi_lib: Fix bug in completion of bidi commands
        [SCSI] mptsas: Fix issue with chain pools allocation on katmai
        [SCSI] aacraid: fix File System going into read-only mode
        [SCSI] lpfc: fix file permissions
      be8cde8b
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git390.marist.edu/pub/scm/linux-2.6 · 981a2edd
      Linus Torvalds authored
      * 'for-linus' of git://git390.marist.edu/pub/scm/linux-2.6:
        [S390] fix single stepped svcs with TRACE_IRQFLAGS=y
        [S390] zcrypt: Do not remove coprocessor for error 8/72
        [S390] sclp_vt220: set initial terminal window size
        [S390] use set_current_state in sigsuspend
        [S390] irqflags: add missing types.h include
        [S390] dasd: fix possible NULL pointer errors
      981a2edd
    • Chris Wilson's avatar
      drm/i915: Selectively enable self-reclaim · 4bdadb97
      Chris Wilson authored
      Having missed the ENOMEM return via i915_gem_fault(), there are probably
      other paths that I also missed. By not enabling NORETRY by default these
      paths can run the shrinker and take memory from the system (but not from
      our own inactive lists because our shrinker can not run whilst we hold
      the struct mutex) and this may allow the system to survive a little longer
      whilst our drivers consume all available memory.
      
      References:
        OOM killer unexpectedly called with kernel 2.6.32
        http://bugzilla.kernel.org/show_bug.cgi?id=14933
      
      v2: Pass gfp into page mapping.
      v3: Use new read_cache_page_gfp() instead of open-coding.
      Signed-off-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
      Cc: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
      Cc: Hugh Dickins <hugh.dickins@tiscali.co.uk>
      Cc: Jesse Barnes <jbarnes@virtuousgeek.org>
      Cc: Eric Anholt <eric@anholt.net>
      Cc: stable@kernel.org
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      4bdadb97
    • Stefan Richter's avatar
      firewire: ohci: fix crashes with TSB43AB23 on 64bit systems · 7a481436
      Stefan Richter authored
      Unsurprisingly, Texas Instruments TSB43AB23 exhibits the same behaviour
      as TSB43AB22/A in dual buffer IR DMA mode:  If descriptors are located
      at physical addresses above the 31 bit address range (2 GB), the
      controller will overwrite random memory.  With luck, this merely
      prevents video reception.  With only a little less luck, the machine
      crashes.
      
      We use the same workaround here as with TSB43AB22/A:  Switch off the
      dual buffer capability flag and use packet-per-buffer IR DMA instead.
      Another possible workaround would be to limit the coherent DMA mask to
      31 bits.
      
      In Linux 2.6.33, this change serves effectively only as documentation
      since dual buffer mode is not used for any controller anymore.  But
      somebody might want to re-enable it in the future to make use of
      features of dual buffer DMA that are not available in packet-per-buffer
      mode.
      
      In Linux 2.6.32 and older, this update is vital for anyone with this
      controller, more than 2 GB RAM, a 64 bit kernel, and FireWire video or
      audio applications.
      
      We have at least four reports:
      http://bugzilla.kernel.org/show_bug.cgi?id=13808
      http://marc.info/?l=linux1394-user&m=126154279004083
      https://bugzilla.redhat.com/show_bug.cgi?id=552142
      http://marc.info/?l=linux1394-user&m=126432246128386
      
      Reported-by: Paul Johnson
      Reported-by: Ronneil Camara
      Reported-by: G Zornetzer
      Reported-by: Mark Thompson
      Cc: stable@kernel.org
      Signed-off-by: default avatarStefan Richter <stefanr@s5r6.in-berlin.de>
      7a481436
    • Linus Torvalds's avatar
      mm: add new 'read_cache_page_gfp()' helper function · 0531b2aa
      Linus Torvalds authored
      It's a simplified 'read_cache_page()' which takes a page allocation
      flag, so that different paths can control how aggressive the memory
      allocations are that populate a address space.
      
      In particular, the intel GPU object mapping code wants to be able to do
      a certain amount of own internal memory management by automatically
      shrinking the address space when memory starts getting tight.  This
      allows it to dynamically use different memory allocation policies on a
      per-allocation basis, rather than depend on the (static) address space
      gfp policy.
      
      The actual new function is a one-liner, but re-organizing the helper
      functions to the point where you can do this with a single line of code
      is what most of the patch is all about.
      Tested-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      0531b2aa