1. 02 Oct, 2013 1 commit
    • Zoltan Kiss's avatar
      tracing/events: Add bounce tracing to swiotbl · 2b2b614d
      Zoltan Kiss authored
      Ftrace is currently not able to detect when SWIOTLB has to do double buffering.
      Under Xen you can only see it indirectly in function_graph, when
      xen_swiotlb_map_page() doesn't stop after range_straddles_page_boundary(), but
      calls spinlock functions, memcpy() and xen_phys_to_bus() as well. This patch
      introduces the swiotlb:swiotlb_bounced event, which also prints out the
      following informations to help you find out why bouncing happened:
      
      dev_name: 0000:08:00.0 dma_mask=ffffffffffffffff dev_addr=9149f000 size=32768
      swiotlb_force=0
      
      If you use Xen, and (dev_addr + size + 1) > dma_mask, the buffer is out of the
      device's DMA range. If swiotlb_force == 1, you should really change the kernel
      parameters. Otherwise, the buffer is not contiguous in mfn space.
      Signed-off-by: default avatarZoltan Kiss <zoltan.kiss@citrix.com>
      [v1: Don't print 'swiotlb_force=X', just print swiotlb_force if it is enabled]
      Signed-off-by: default avatarKonrad Rzeszutek Wilk <konrad.wilk@oracle.com>
      2b2b614d
  2. 30 Sep, 2013 1 commit
    • Konrad Rzeszutek Wilk's avatar
      xen/hvc: If we use xen_raw_printk let it also work on HVM guests. · 04b772d2
      Konrad Rzeszutek Wilk authored
      The xen_raw_printk works great for debugging purposes. We use
      for PV guests and we can also use it for HVM guests.
      
      However, for HVM guests we have a fallback of using the 0xe9
      port in case the hypervisor does not support an HVM guest of
      using the console_io hypercall. As such lets use 0xe9 during
      early bootup, and once the hyper-page is setup and if the
      console_io hypercall is supported - use that. Otherwise we
      will fallback to using the 0xe9 after early bootup.
      
      We also alter the return value for dom0_write_console to return
      an error value instead of zero. The HVC API has been supporting
      returning error values for quite some time.
      
      P.S.
      To use (and to see the output in the Xen ring buffer) one has to build
      the hypervisor with 'debug=y'.
      Signed-off-by: default avatarKonrad Rzeszutek Wilk <konrad.wilk@oracle.com>
      [v1: ifdef xen_cpuid_base as it is X86 specific]
      04b772d2
  3. 27 Sep, 2013 1 commit
  4. 25 Sep, 2013 35 commits
  5. 24 Sep, 2013 2 commits
    • Linus Torvalds's avatar
      Merge branch 'bcache' (bcache fixes from Kent Overstreet) · e288e931
      Linus Torvalds authored
      Merge bcache fixes from Kent Overstreet:
       "There's fixes for _three_ different data corruption bugs, all of which
        were found by users hitting them in the wild.
      
        The first one isn't bcache specific - in 3.11 bcache was switched to
        the bio_copy_data in fs/bio.c, and that's when the bug in that code
        was discovered, but it's also used by raid1 and pktcdvd.  (That was my
        code too, so the bug's doubly embarassing given that it was or
        should've been just a cut and paste from bcache code.  Dunno what
        happened there).
      
        Most of these (all the non data corruption bugs, actually) were ready
        before the merge window and have been sitting in Jens' tree, but I
        don't know what's been up with him lately..."
      
      * emailed patches from Kent Overstreet <kmo@daterainc.com>:
        bcache: Fix flushes in writeback mode
        bcache: Fix for handling overlapping extents when reading in a btree node
        bcache: Fix a shrinker deadlock
        bcache: Fix a dumb CPU spinning bug in writeback
        bcache: Fix a flush/fua performance bug
        bcache: Fix a writeback performance regression
        bcache: Correct printf()-style format length modifier
        bcache: Fix for when no journal entries are found
        bcache: Strip endline when writing the label through sysfs
        bcache: Fix a dumb journal discard bug
        block: Fix bio_copy_data()
      e288e931
    • Kent Overstreet's avatar
      bcache: Fix flushes in writeback mode · c0f04d88
      Kent Overstreet authored
      In writeback mode, when we get a cache flush we need to make sure we
      issue a flush to the backing device.
      
      The code for sending down an extra flush was wrong - by cloning the bio
      we were probably getting flags that didn't make sense for a bare flush,
      and also the old code was firing for FUA bios, for which we don't need
      to send a flush to the backing device.
      
      This was causing data corruption somehow - the mechanism was never
      determined, but this patch fixes it for the users that were seeing it.
      Signed-off-by: default avatarKent Overstreet <kmo@daterainc.com>
      Cc: linux-stable <stable@vger.kernel.org> # >= v3.10
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      c0f04d88