1. 02 12月, 2009 3 次提交
  2. 26 11月, 2009 5 次提交
    • H
      sched, time: Define nsecs_to_jiffies() · b7b20df9
      Hidetoshi Seto 提交于
      Use of msecs_to_jiffies() for nsecs_to_cputime() have some
      problems:
      
       - The type of msecs_to_jiffies()'s argument is unsigned int, so
         it cannot convert msecs greater than UINT_MAX = about 49.7 days.
      
       - msecs_to_jiffies() returns MAX_JIFFY_OFFSET if MSB of argument
         is set, assuming that input was negative value.  So it cannot
         convert msecs greater than INT_MAX = about 24.8 days too.
      
      This patch defines a new function nsecs_to_jiffies() that can
      deal greater values, and that can deal all incoming values as
      unsigned.
      Signed-off-by: NHidetoshi Seto <seto.hidetoshi@jp.fujitsu.com>
      Acked-by: NPeter Zijlstra <peterz@infradead.org>
      Cc: Stanislaw Gruszka <sgruszka@redhat.com>
      Cc: Spencer Candland <spencer@bluehost.com>
      Cc: Oleg Nesterov <oleg@redhat.com>
      Cc: Balbir Singh <balbir@in.ibm.com>
      Cc: Amrico Wang <xiyou.wangcong@gmail.com>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: John Stultz <johnstul@linux.vnet.ibm.com>
      LKML-Reference: <4B0E16E7.5070307@jp.fujitsu.com>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      b7b20df9
    • H
      sched: Remove task_{u,s,g}time() · d5b7c78e
      Hidetoshi Seto 提交于
      Now all task_{u,s}time() pairs are replaced by task_times().
      And task_gtime() is too simple to be an inline function.
      
      Cleanup them all.
      Signed-off-by: NHidetoshi Seto <seto.hidetoshi@jp.fujitsu.com>
      Acked-by: NPeter Zijlstra <peterz@infradead.org>
      Cc: Stanislaw Gruszka <sgruszka@redhat.com>
      Cc: Spencer Candland <spencer@bluehost.com>
      Cc: Oleg Nesterov <oleg@redhat.com>
      Cc: Balbir Singh <balbir@in.ibm.com>
      Cc: Americo Wang <xiyou.wangcong@gmail.com>
      LKML-Reference: <4B0E16D1.70902@jp.fujitsu.com>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      d5b7c78e
    • H
      sched: Introduce task_times() to replace task_{u,s}time() pair · d180c5bc
      Hidetoshi Seto 提交于
      Functions task_{u,s}time() are called in pair in almost all
      cases.  However task_stime() is implemented to call task_utime()
      from its inside, so such paired calls run task_utime() twice.
      
      It means we do heavy divisions (div_u64 + do_div) twice to get
      utime and stime which can be obtained at same time by one set
      of divisions.
      
      This patch introduces a function task_times(*tsk, *utime,
      *stime) to retrieve utime and stime at once in better, optimized
      way.
      Signed-off-by: NHidetoshi Seto <seto.hidetoshi@jp.fujitsu.com>
      Acked-by: NPeter Zijlstra <peterz@infradead.org>
      Cc: Stanislaw Gruszka <sgruszka@redhat.com>
      Cc: Spencer Candland <spencer@bluehost.com>
      Cc: Oleg Nesterov <oleg@redhat.com>
      Cc: Balbir Singh <balbir@in.ibm.com>
      Cc: Americo Wang <xiyou.wangcong@gmail.com>
      LKML-Reference: <4B0E16AE.906@jp.fujitsu.com>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      d180c5bc
    • I
      Merge branch 'sched/urgent' into sched/core · 16bc67ed
      Ingo Molnar 提交于
      Merge reason: Pick up fixes that did not make it into .32.0
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      16bc67ed
    • M
      sched: Limit the number of scheduler debug messages · f6630114
      Mike Travis 提交于
      Remove the verbose scheduler debug messages unless kernel
      parameter "sched_debug" set.  /proc/sched_debug unchanged.
      Signed-off-by: NMike Travis <travis@sgi.com>
      Cc: Heiko Carstens <heiko.carstens@de.ibm.com>
      Cc: Roland Dreier <rdreier@cisco.com>
      Cc: Randy Dunlap <rdunlap@xenotime.net>
      Cc: Tejun Heo <tj@kernel.org>
      Cc: Andi Kleen <andi@firstfloor.org>
      Cc: Greg Kroah-Hartman <gregkh@suse.de>
      Cc: Yinghai Lu <yhlu.kernel@gmail.com>
      Cc: David Rientjes <rientjes@google.com>
      Cc: Steven Rostedt <rostedt@goodmis.org>
      Cc: Rusty Russell <rusty@rustcorp.com.au>
      Cc: Hidetoshi Seto <seto.hidetoshi@jp.fujitsu.com>
      Cc: Jack Steiner <steiner@sgi.com>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      LKML-Reference: <20091118002221.489305000@alcatraz.americas.sgi.com>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      f6630114
  3. 25 11月, 2009 1 次提交
  4. 24 11月, 2009 4 次提交
    • T
      sched, x86: Optimize branch hint in __switch_to() · a3a1de0c
      Tim Blechmann 提交于
      Branch hint profiling on my nehalem machine showed 96%
      incorrect branch hints:
      
        6548732 174664120  96 __switch_to                    process_64.c
          406
        6548745 174565593  96 __switch_to                    process_64.c
          410
      Signed-off-by: NTim Blechmann <tim@klingt.org>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Cc: Mike Galbraith <efault@gmx.de>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      LKML-Reference: <4B0BBB93.3080307@klingt.org>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      a3a1de0c
    • T
      sched: Optimize branch hint in context_switch() · 710390d9
      Tim Blechmann 提交于
      Branch hint profiling on my nehalem machine showed over 90%
      incorrect branch hints:
      
        10420275 170645395  94 context_switch                 sched.c
         3043
        10408421 171098521  94 context_switch                 sched.c
         3050
      Signed-off-by: NTim Blechmann <tim@klingt.org>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Cc: Mike Galbraith <efault@gmx.de>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      LKML-Reference: <4B0BBB9F.6080304@klingt.org>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      710390d9
    • T
      sched: Optimize branch hint in pick_next_task_fair() · 36ace27e
      Tim Blechmann 提交于
      Branch hint profiling on my nehalem machine showed 90%
      incorrect branch hints:
      
        15728471 158903754  90 pick_next_task_fair
        sched_fair.c    1555
      Signed-off-by: NTim Blechmann <tim@klingt.org>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Cc: Mike Galbraith <efault@gmx.de>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      LKML-Reference: <4B0BBBB1.2050100@klingt.org>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      36ace27e
    • J
      sched_feat_write(): Update ppos instead of file->f_pos · 42994724
      Jan Blunck 提交于
      sched_feat_write() should update ppos instead of file->f_pos.
      
      (This reduces some BKL dependencies of this code.)
      Signed-off-by: NJan Blunck <jblunck@suse.de>
      Cc: jkacur@redhat.com
      Cc: Arnd Bergmann <arnd@arndb.de>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Jamie Lokier <jamie@shareable.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Christoph Hellwig <hch@infradead.org>
      Cc: Alan Cox <alan@lxorguk.ukuu.org.uk>
      LKML-Reference: <1258735245-25826-8-git-send-email-jblunck@suse.de>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      42994724
  5. 16 11月, 2009 1 次提交
  6. 15 11月, 2009 1 次提交
  7. 13 11月, 2009 2 次提交
  8. 12 11月, 2009 23 次提交
    • H
      sched: Fix granularity of task_u/stime() · 761b1d26
      Hidetoshi Seto 提交于
      Originally task_s/utime() were designed to return clock_t but
      later changed to return cputime_t by following commit:
      
        commit efe567fc
        Author: Christian Borntraeger <borntraeger@de.ibm.com>
        Date:   Thu Aug 23 15:18:02 2007 +0200
      
      It only changed the type of return value, but not the
      implementation. As the result the granularity of task_s/utime()
      is still that of clock_t, not that of cputime_t.
      
      So using task_s/utime() in __exit_signal() makes values
      accumulated to the signal struct to be rounded and coarse
      grained.
      
      This patch removes casts to clock_t in task_u/stime(), to keep
      granularity of cputime_t over the calculation.
      
      v2:
        Use div_u64() to avoid error "undefined reference to `__udivdi3`"
        on some 32bit systems.
      Signed-off-by: NHidetoshi Seto <seto.hidetoshi@jp.fujitsu.com>
      Acked-by: NPeter Zijlstra <peterz@infradead.org>
      Cc: xiyou.wangcong@gmail.com
      Cc: Spencer Candland <spencer@bluehost.com>
      Cc: Oleg Nesterov <oleg@redhat.com>
      Cc: Stanislaw Gruszka <sgruszka@redhat.com>
      LKML-Reference: <4AFB9029.9000208@jp.fujitsu.com>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      761b1d26
    • M
      sched: Fix/add missing update_rq_clock() calls · 055a0086
      Mike Galbraith 提交于
      kthread_bind(), migrate_task() and sched_fork were missing
      updates, and try_to_wake_up() was updating after having already
      used the stale clock.
      
      Aside from preventing potential latency hits, there' a side
      benefit in that early boot printk time stamps become monotonic.
      Signed-off-by: NMike Galbraith <efault@gmx.de>
      Acked-by: NPeter Zijlstra <a.p.zijlstra@chello.nl>
      LKML-Reference: <1258020464.6491.2.camel@marge.simson.net>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      LKML-Reference: <new-submission>
      055a0086
    • L
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable · aa021baa
      Linus Torvalds 提交于
      * git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable:
        Btrfs: fix panic when trying to destroy a newly allocated
        Btrfs: allow more metadata chunk preallocation
        Btrfs: fallback on uncompressed io if compressed io fails
        Btrfs: find ideal block group for caching
        Btrfs: avoid null deref in unpin_extent_cache()
        Btrfs: skip btrfs_release_path in btrfs_update_root and btrfs_del_root
        Btrfs: fix some metadata enospc issues
        Btrfs: fix how we set max_size for free space clusters
        Btrfs: cleanup transaction starting and fix journal_info usage
        Btrfs: fix data allocation hint start
      aa021baa
    • L
      btusb bluetooth driver: wait for 'waker' work too before closing · 404291ac
      Linus Torvalds 提交于
      Rafael debugged a resume-time hang (with oopses in workqueue handling)
      on his laptop that was due to the 'waker' workqueue entry being
      disconnected and then released without the workqueue entry having been
      synchronized.
      
      Several people were involved, with Oleg Nesterov doing a debugging patch
      showing what workqueue entry was corrupt etc.
      
      This was a regression introduced by commit 7bee549e ("Bluetooth: Add
      USB autosuspend support to btusb driver") as Rafael points out (not
      actually bisected, but it became clear once the bug was found).
      Tested-and-reported-by: NRafael J. Wysocki <rjw@sisk.pl>
      Acked-by: NOliver Neukum <oliver@neukum.org>
      Cc: Oleg Nesterov <oleg@redhat.com>
      Cc: Tejun Heo <tj@kernel.org>
      Cc: Marcel Holtmann <marcel@holtmann.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      404291ac
    • J
      Btrfs: fix panic when trying to destroy a newly allocated · a6dbd429
      Josef Bacik 提交于
      There is a problem where iget5_locked will look for an inode, not find it, and
      then subsequently try to allocate it.  Another CPU will have raced in and
      allocated the inode instead, so when iget5_locked gets the inode spin lock again
      and does a search, it finds the new inode.  So it goes ahead and calls
      destroy_inode on the inode it just allocated.  The problem is we don't set
      BTRFS_I(inode)->root until the new inode is completely initialized.  This patch
      makes us set root to NULL when alloc'ing a new inode, so when we get to
      btrfs_destroy_inode and we see that root is NULL we can just free up the memory
      and continue on.  This fixes the panic
      
      http://www.kerneloops.org/submitresult.php?number=812690
      
      Thanks,
      Signed-off-by: NJosef Bacik <josef@redhat.com>
      Signed-off-by: NChris Mason <chris.mason@oracle.com>
      a6dbd429
    • L
      Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs-2.6 · fd801452
      Linus Torvalds 提交于
      * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs-2.6:
        JBD/JBD2: free j_wbuf if journal init fails.
        ext3: Wait for proper transaction commit on fsync
        ext3: retry failed direct IO allocations
      fd801452
    • L
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6 · 79a8f1b1
      Linus Torvalds 提交于
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6:
        ALSA: hda - possible read past array alc88[02]_parse_auto_config()
        sound: rawmidi: fix MIDI device O_APPEND error handling
        sound: rawmidi: fix checking of O_APPEND when opening MIDI device
        sound: rawmidi: fix double init when opening MIDI device with O_APPEND
        ALSA: hda - Avoid quirk for HP dc5750
        ALSA: hda - Tweak OLPC XO-1.5 microphone bias
        ALSA: hda: Use model=auto quirk for Sony VAIO VGN-FW170J using ALC262
      79a8f1b1
    • L
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6 · 55871bdd
      Linus Torvalds 提交于
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6:
        x86/PCI: Adjust GFP mask handling for coherent allocations
        PCI ASPM: fix oops on root port removal
      55871bdd
    • L
      Merge branch 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc · e5d45abe
      Linus Torvalds 提交于
      * 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc:
        powerpc: pasemi_defconfig update
        powerpc: 2.6.32 update of defconfigs for embedded 6xx/7xxx, 8xx, 8{3,5,6}xxx
        powerpc/8xxx: enable IPsec ESP by default on mpc83xx/mpc85xx
        powerpc/83xx: Fix u-boot partion size for MPC8377E-WLAN boards
        powerpc/85xx: Fix USB GPIOs for MPC8569E-MDS boards
        powerpc/82xx: kmalloc failure ignored in ep8248e_mdio_probe()
        powerpc/85xx: sbc8548 - fixup of PCI-e related DTS fields
      e5d45abe
    • L
      Merge master.kernel.org:/home/rmk/linux-2.6-arm · 749f3cbe
      Linus Torvalds 提交于
      * master.kernel.org:/home/rmk/linux-2.6-arm:
        ARM: Use a definition for the userspace cmpxchg emulation syscall
        [ARM] Fix test for unimplemented ARM syscalls
        ARM: 5784/1: fix early boot machine ID mismatch error display
        [ARM] orion5x: update defconfig
        [ARM] Kirkwood: update defconfig
        [ARM] Kirkwood: clarify PCIe MEM bus/physical address distinction
        [ARM] kirkwood: fix PCI I/O port assignment
        [ARM] kirkwood: fix section mismatch
        [ARM] OpenRD base: Initialize PCI express and i2c
        [ARM] properly report mv78100 stepping A1
        ARM: 5780/1: KS8695: Fix macro definition bug in regs-switch.c
        ARM: 5779/1: ep93xx/micro9.c: fix implicit declaration of function __raw_readl and IOMEM
        RealView: Add sparsemem support for the RealView PBX platform
        RealView: Remove duplicated #define REALVIEW_SYS_FLAGS* statements
        RealView: Add default memory configuration
        Check whether the SCU was already initialised
        ARMv7: Check whether the SMP/nAMP mode was already enabled
        [ARM] pxa: fix resume failure by saving/restoring IPRx registers
        [ARM] pxa/palm: fix incorrect initialization of Palm Tungsten C keyboard
        [ARM] pxa/zaurus: fix NAND flash OOB layout for Borzoi
      749f3cbe
    • L
      Merge branch 'drm-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6 · 6b46362c
      Linus Torvalds 提交于
      * 'drm-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6: (52 commits)
        drm/kms: Init the CRTC info fields for modes forced from the command line.
        drm/radeon/r600: CS parser updates
        drm/radeon/kms: add debugfs for power management for AtomBIOS devices
        drm/radeon/kms: initial mode validation support
        drm/radeon/kms/atom/dce3: call transmitter init on mode set
        drm/radeon/kms: store detailed connector info
        drm/radeon/kms/atom/dce3: fix up usPixelClock calculation for Transmitter tables
        drm/radeon/kms/r600: fix rs880 support v2
        drm/radeon/kms/r700: fix some typos in chip init
        drm/radeon/kms: remove some misleading debugging output
        drm/radeon/kms: stop putting VRAM at 0 in MC space on r600s.
        drm/radeon/kms: disable D1VGA and D2VGA if enabled
        drm/radeon/kms: Don't RMW CP_RB_CNTL
        drm/radeon/kms: fix coherency issues on AGP cards.
        drm/radeon/kms: fix rc410 suspend/resume.
        drm/radeon/kms: add quirk for hp dc5750
        drm/radeon/kms/atom: fix potential oops in spread spectrum code
        drm/kms: typo fix
        drm/radeon/kms/atom: Make card_info per device
        drm/radeon/kms/atom: Fix DVO support
        ...
      6b46362c
    • L
      Merge branch 'core-fixes-for-linus' of... · 961767b7
      Linus Torvalds 提交于
      Merge branch 'core-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
      
      * 'core-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
        highmem: Fix debug_kmap_atomic() to also handle KM_IRQ_PTE, KM_NMI, and KM_NMI_PTE
        highmem: Fix race in debug_kmap_atomic() which could cause warn_count to underflow
        rcu: Fix long-grace-period race between forcing and initialization
        uids: Prevent tear down race
      961767b7
    • L
      Merge branch 'irq-fixes-for-linus' of... · 1fd18a87
      Linus Torvalds 提交于
      Merge branch 'irq-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
      
      * 'irq-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
        genirq: try_one_irq() must be called with irq disabled
      1fd18a87
    • L
      Merge branch 'perf-fixes-for-linus' of... · 26a9ba16
      Linus Torvalds 提交于
      Merge branch 'perf-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
      
      * 'perf-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
        perf tools: Fix permission checks
        perf_events: Fix some typo in the perf events config description
      26a9ba16
    • L
      Merge branch 'sched-fixes-for-linus' of... · 13b58926
      Linus Torvalds 提交于
      Merge branch 'sched-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
      
      * 'sched-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
        sched: Use root_task_group_empty only with FAIR_GROUP_SCHED
        sched: Fix kernel-doc function parameter name
      13b58926
    • L
      Merge branch 'x86-fixes-for-linus' of... · 605f3750
      Linus Torvalds 提交于
      Merge branch 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
      
      * 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
        x86, amd-ucode: Check UCODE_MAGIC before loading the container file
        x86: Fix error return sequence in __ioremap_caller()
        x86: Add Phoenix/MSC BIOSes to lowmem corruption list
      605f3750
    • L
      Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4 · 16fe4101
      Linus Torvalds 提交于
      * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4:
        ext4: partial revert to fix double brelse WARNING()
        ext4: Fix return value of ext4_split_unwritten_extents() to fix direct I/O
        ext4: code clean up for dio fallocate handling
        ext4: skip conversion of uninit extents after direct IO if there isn't any
        ext4: fix ext4_ext_direct_IO()'s return value after converting uninit extents
        ext4: discard preallocation when restarting a transaction during truncate
      16fe4101
    • L
      7bbf8ef6
    • L
      Merge branch 'fixes-s3c-2632-rc6' of git://git.fluff.org/bjdooks/linux · 1ed23743
      Linus Torvalds 提交于
      * 'fixes-s3c-2632-rc6' of git://git.fluff.org/bjdooks/linux:
        ARM: S3C64XX: DMA: Free node for non-circular queues
        ARM: S3C64XX: DMA: Callback with correct buffer pointer
        ARM: S3C64XX: DMA: Make src and dst transfer size same
        ARM: S3C64XX: DMA: Unify callback functions for success/failure
        ARM: S3C64XX: DMA: Protect buffer pointers while manipulation
        ARM: S3C64XX: Tidy definition and comments in s3c_dma_has_circular()
        ARM: S3C64XX: Remove duplicate s3c_dma_has_circular() definition for S3C64xx.
        ARM: SMDK6410: Allocate more GPIO space for WM1190-EV1
        ARM: SMDK6410: Configure GPIO pull up for WM835x IRQ line
      1ed23743
    • L
      Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6 · a544de2e
      Linus Torvalds 提交于
      * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6: (27 commits)
        V4L/DVB (13314): saa7134: set ts_force_val for the Hauppauge WinTV HVR-1150
        V4L/DVB (13313): saa7134: add support for FORCE_TS_VALID mode for mpeg ts input
        V4L/DVB (13311): uvcvideo: Fix compilation warning with 2.6.32 due to type mismatch with abs()
        V4L/DVB (13309): uvcvideo: Ignore the FIX_BANDWIDTH for compressed video
        V4L/DVB (13287): ce6230 - saa7164-cmd: Fix wrong sizeof
        V4L/DVB (13286): pxa-camera: Fix missing sched.h
        V4L/DVB (13264): gspca_mr97310a: Change vstart for CIF sensor type 1 cams
        V4L/DVB (13257): gspca - m5602-s5k4aa: Add vflip for Fujitsu Amilo Xi 2528
        V4L/DVB (13256): gspca - m5602-s5k4aa: Add another MSI GX700 vflip quirk
        V4L/DVB (13255): gspca - m5602-s5k4aa: Add vflip quirk for the Bruneinit laptop
        V4L/DVB (13240): firedtv: fix regression: tuning fails due to bogus error return
        V4L/DVB (13237): firedtv: length field corrupt in ca2host if length>127
        V4L/DVB (13230): s2255drv: Don't conditionalize video buffer completion on waiting processes
        V4L/DVB (13202): smsusb: add autodetection support for three additional Hauppauge USB IDs
        V4L/DVB (13190): em28xx: fix panic that can occur when starting audio streaming
        V4L/DVB (13170): bttv: Fix reversed polarity error when switching video standard
        V4L/DVB (13169): bttv: Fix potential out-of-order field processing
        V4L/DVB (13167): pt1: Fix a compile error on arm
        V4L/DVB (13132): fix use-after-free Oops, resulting from a driver-core API change
        V4L/DVB (13131): pxa_camera: fix camera pixel format configuration
        ...
      a544de2e
    • C
      Btrfs: allow more metadata chunk preallocation · 33b25808
      Chris Mason 提交于
      On an FS where all of the space has not been allocated into chunks yet,
      the enospc can return enospc just because the existing metadata chunks
      are full.
      
      We get around this by allowing more metadata chunks to be allocated up
      to a certain limit, and finding the right limit is a little fuzzy.  The
      problem is the reservations for delalloc would preallocate way too much
      of the FS as metadata.  We need to start saying no and just force some
      IO to happen.
      
      But we also need to let a reasonable amount of the FS become metadata.
      This bumps the hard limit up, later releases will have a better system.
      Signed-off-by: NChris Mason <chris.mason@oracle.com>
      33b25808
    • J
      Btrfs: fallback on uncompressed io if compressed io fails · f5a84ee3
      Josef Bacik 提交于
      Currently compressed IO does not deal with not having its entire extent able to
      be allocated.  So if we have enough free space to allocate for the extent, but
      its not contiguous, it will fail spectacularly.  This patch fixes this by
      falling back on uncompressed IO which lets us spread the delalloc extent across
      multiple extents.  I tested this by making us randomly think the reservation had
      failed to make it fallback on the uncompressed io way and it seemed to work
      fine.  Thanks,
      Signed-off-by: NJosef Bacik <josef@redhat.com>
      Signed-off-by: NChris Mason <chris.mason@oracle.com>
      f5a84ee3
    • J
      Btrfs: find ideal block group for caching · ccf0e725
      Josef Bacik 提交于
      This patch changes a few things.  Hopefully the comments are helpfull, but
      I'll try and be as verbose here.
      
      Problem:
      
      My fedora box was taking 1 minute and 21 seconds to boot with btrfs as root.
      Part of this problem was we pick the first block group we can find and start
      caching it, even if it may not have enough free space.  The other problem is
      we only search for cached block groups the first time around, which we won't
      find any cached block groups because this is a newly mounted fs, so we end up
      caching several block groups during bootup, which with alot of fragmentation
      takes around 30-45 seconds to complete, which bogs down the system.  So
      
      Solution:
      
      1) Don't cache block groups willy-nilly at first.  Instead try and figure out
      which block group has the most free, and therefore will take the least amount
      of time to cache.
      
      2) Don't be so picky about cached block groups.  The other problem is once
      we've filled up a cluster, if the block group isn't finished caching the next
      time we try and do the allocation we'll completely ignore the cluster and
      start searching from the beginning of the space, which makes us cache more
      block groups, which slows us down even more.  So instead of skipping block
      groups that are not finished caching when we have a hint, only skip the block
      group if it hasn't started caching yet.
      
      There is one other tweak in here.  Before if we allocated a chunk and still
      couldn't find new space, we'd end up switching the space info to force another
      chunk allocation.  This could make us end up with way too many chunks, so keep
      track of this particular case.
      
      With this patch and my previous cluster fixes my fedora box now boots in 43
      seconds, and according to the bootchart is not held up by our block group
      caching at all.
      Signed-off-by: NJosef Bacik <josef@redhat.com>
      Signed-off-by: NChris Mason <chris.mason@oracle.com>
      ccf0e725