1. 04 Oct, 2009 11 commits
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.dk/linux-2.6-block · 58e57fbd
      Linus Torvalds authored
      * 'for-linus' of git://git.kernel.dk/linux-2.6-block: (41 commits)
        Revert "Seperate read and write statistics of in_flight requests"
        cfq-iosched: don't delay async queue if it hasn't dispatched at all
        block: Topology ioctls
        cfq-iosched: use assigned slice sync value, not default
        cfq-iosched: rename 'desktop' sysfs entry to 'low_latency'
        cfq-iosched: implement slower async initiate and queue ramp up
        cfq-iosched: delay async IO dispatch, if sync IO was just done
        cfq-iosched: add a knob for desktop interactiveness
        Add a tracepoint for block request remapping
        block: allow large discard requests
        block: use normal I/O path for discard requests
        swapfile: avoid NULL pointer dereference in swapon when s_bdev is NULL
        fs/bio.c: move EXPORT* macros to line after function
        Add missing blk_trace_remove_sysfs to be in pair with blk_trace_init_sysfs
        cciss: fix build when !PROC_FS
        block: Do not clamp max_hw_sectors for stacking devices
        block: Set max_sectors correctly for stacking devices
        cciss: cciss_host_attr_groups should be const
        cciss: Dynamically allocate the drive_info_struct for each logical drive.
        cciss: Add usage_count attribute to each logical drive in /sys
        ...
      58e57fbd
    • Jens Axboe's avatar
      Revert "Seperate read and write statistics of in_flight requests" · 0f78ab98
      Jens Axboe authored
      This reverts commit a9327cac.
      
      Corrado Zoccolo <czoccolo@gmail.com> reports:
      
      "with 2.6.32-rc1 I started getting the following strange output from
      "iostat -kx 2":
      Linux 2.6.31bisect (et2) 	04/10/2009 	_i686_	(2 CPU)
      
      avg-cpu:  %user   %nice %system %iowait  %steal   %idle
                10,70    0,00    3,16   15,75    0,00   70,38
      
      Device:         rrqm/s   wrqm/s     r/s     w/s    rkB/s    wkB/s
      avgrq-sz avgqu-sz   await  svctm  %util
      sda              18,22     0,00    0,67    0,01    14,77     0,02
      43,94     0,01   10,53 39043915,03 2629219,87
      sdb              60,89     9,68   50,79    3,04  1724,43    50,52
      65,95     0,70   13,06 488437,47 2629219,87
      
      avg-cpu:  %user   %nice %system %iowait  %steal   %idle
                 2,72    0,00    0,74    0,00    0,00   96,53
      
      Device:         rrqm/s   wrqm/s     r/s     w/s    rkB/s    wkB/s
      avgrq-sz avgqu-sz   await  svctm  %util
      sda               0,00     0,00    0,00    0,00     0,00     0,00
      0,00     0,00    0,00   0,00 100,00
      sdb               0,00     0,00    0,00    0,00     0,00     0,00
      0,00     0,00    0,00   0,00 100,00
      
      avg-cpu:  %user   %nice %system %iowait  %steal   %idle
                 6,68    0,00    0,99    0,00    0,00   92,33
      
      Device:         rrqm/s   wrqm/s     r/s     w/s    rkB/s    wkB/s
      avgrq-sz avgqu-sz   await  svctm  %util
      sda               0,00     0,00    0,00    0,00     0,00     0,00
      0,00     0,00    0,00   0,00 100,00
      sdb               0,00     0,00    0,00    0,00     0,00     0,00
      0,00     0,00    0,00   0,00 100,00
      
      avg-cpu:  %user   %nice %system %iowait  %steal   %idle
                 4,40    0,00    0,73    1,47    0,00   93,40
      
      Device:         rrqm/s   wrqm/s     r/s     w/s    rkB/s    wkB/s
      avgrq-sz avgqu-sz   await  svctm  %util
      sda               0,00     0,00    0,00    0,00     0,00     0,00
      0,00     0,00    0,00   0,00 100,00
      sdb               0,00     4,00    0,00    3,00     0,00    28,00
      18,67     0,06   19,50 333,33 100,00
      
      Global values for service time and utilization are garbage. For
      interval values, utilization is always 100%, and service time is
      higher than normal.
      
      I bisected it down to:
      [a9327cac] Seperate read and write
      statistics of in_flight requests
      and verified that reverting just that commit indeed solves the issue
      on 2.6.32-rc1."
      
      So until this is debugged, revert the bad commit.
      Signed-off-by: default avatarJens Axboe <jens.axboe@oracle.com>
      0f78ab98
    • Jens Axboe's avatar
      cfq-iosched: don't delay async queue if it hasn't dispatched at all · e00c54c3
      Jens Axboe authored
      We cannot delay for the first dispatch of the async queue if it
      hasn't dispatched at all, since that could present a local user
      DoS attack vector using an app that just did slow timed sync reads
      while filling memory.
      Signed-off-by: default avatarJens Axboe <jens.axboe@oracle.com>
      e00c54c3
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://www.linux-m32r.org/git/takata/linux-2.6_dev · 8a0382f6
      Linus Torvalds authored
      * 'for-linus' of git://www.linux-m32r.org/git/takata/linux-2.6_dev:
        m32r: Fix IPI function calls for SMP
        m32r: Fix set_memory() for DISCONTIGMEM
        m32r: add rtc_lock variable
        m32r: define ioread* and iowrite* macros
        m32r: export delay loop symbols
        m32r: fix tme_handler
      8a0382f6
    • Linus Torvalds's avatar
      tty: Avoid dropping ldisc_mutex over hangup tty re-initialization · 0b5759c6
      Linus Torvalds authored
      A couple of people have hit the WARN_ON() in drivers/char/tty_io.c,
      tty_open() that is unhappy about seeing the tty line discipline go away
      during the tty hangup. See for example
      
      	http://bugzilla.kernel.org/show_bug.cgi?id=14255
      
      and the reason is that we do the tty_ldisc_halt() outside the
      ldisc_mutex in order to be able to flush the scheduled work without a
      deadlock with vhangup_work.
      
      However, it turns out that we can solve this particular case by
      
       - using "cancel_delayed_work_sync()" in tty_ldisc_halt(), which waits
         for just the particular work, rather than synchronizing with any
         random outstanding pending work.
      
         This won't deadlock, since the buf.work we synchronize with doesn't
         care about the ldisc_mutex, it just flushes the tty ldisc buffers.
      
       - realize that for this particular case, we don't need to wait for any
         hangup work, because we are inside the hangup codepaths ourselves.
      
      so as a result we can just drop the flush_scheduled_work() entirely, and
      then move the tty_ldisc_halt() call to inside the mutex.  That way we
      never expose the partially torn down ldisc state to tty_open(), and hold
      the ldisc_mutex over the whole sequence.
      Reported-by: default avatarIngo Molnar <mingo@elte.hu>
      Reported-by: default avatarHeinz Diehl <htd@fancy-poultry.org>
      Cc: stable@kernel.org
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      0b5759c6
    • Toshihiro HANAWA's avatar
      m32r: Fix IPI function calls for SMP · 0a3d31b7
      Toshihiro HANAWA authored
      This patch fixes the m32r SMP kernel after 2.6.27.
      
      A part of the following patch breaks m32r SMP operation.
      > m32r: convert to generic helpers for IPI function calls
      > commit 7b7426c8
      
      In the above patch, a CALL_FUNC_SINGLE_IPI was newly introduced,
      but the its IPI vector number was wrong in the patch code.
      
      The m32r SMP kernel hanged-up during boot operation, because
      the CPU_BOOT_IPI was called instead of CALL_FUNC_SINGLE_IPI
      (CPU_BOOT_IPI had no side effect at that time because the 2nd
      core had already been started up),
      as a result, csd_unlock() was not called, then a dead lock
      occurred in csd_lock_wait() after the detection of Compact Flash
      memory as IDE generic disk.
      Signed-off-by: default avatarToshihiro HANAWA <hanawa@ccs.tsukuba.ac.jp>
      Signed-off-by: default avatarHirokazu Takata <takata@linux-m32r.org>
      0a3d31b7
    • Hirokazu Takata's avatar
      m32r: Fix set_memory() for DISCONTIGMEM · 6b6fabce
      Hirokazu Takata authored
      In case CONFIG_DISCONTIGMEM is set, the memory size of system was
      always determined by CONFIG_MEMORY_SIZE and was not changeable.
      
      This patch fixes set_memory() of arch/m32r/mm/discontig.c so that
      we can specify memory size by the "mem=<size>" kernel parameter.
      Signed-off-by: default avatarHirokazu Takata <takata@linux-m32r.org>
      6b6fabce
    • Hirokazu Takata's avatar
      m32r: add rtc_lock variable · bac33bd5
      Hirokazu Takata authored
      Add a spinlock variable "rtc_lock".
      This is taken from arch/arm/kernel/time.c.
      Signed-off-by: default avatarHirokazu Takata <takata@linux-m32r.org>
      bac33bd5
    • Hirokazu Takata's avatar
      m32r: define ioread* and iowrite* macros · d2c5821c
      Hirokazu Takata authored
      Define ioread* and iowrite* macros to fix the following build errors:
      
        CC [M]  drivers/uio/uio_smx.o
      drivers/uio/uio_smx.c: In function 'smx_handler':
      drivers/uio/uio_smx.c:31: error: implicit declaration of function 'ioread32'
      drivers/uio/uio_smx.c:37: error: implicit declaration of function 'iowrite32'
      Signed-off-by: default avatarHirokazu Takata <takata@linux-m32r.org>
      d2c5821c
    • Hirokazu Takata's avatar
      m32r: export delay loop symbols · ced0f005
      Hirokazu Takata authored
      - Move EXPORT_SYMBOL lines of delay loop functions
        from arch/m32r/kernel/m32r_ksyms.c to arch/m32r/lib/delay.c.
      - Export __ndelay.
      Signed-off-by: default avatarHirokazu Takata <takata@linux-m32r.org>
      ced0f005
    • Hirokazu Takata's avatar
      m32r: fix tme_handler · 2cff5e1a
      Hirokazu Takata authored
      Fix pmd_bad check code of tme_handler (TLB Miss Exception handler).
      The correct _KERNPG_TABLE value is not 0x263(=611) but 0x163.
      Signed-off-by: default avatarHirokazu Takata <takata@linux-m32r.org>
      2cff5e1a
  2. 03 Oct, 2009 11 commits
  3. 02 Oct, 2009 18 commits