1. 19 7月, 2016 30 次提交
  2. 18 7月, 2016 10 次提交
    • F
      MAINTAINERS: Add include/block/aio.h to block I/O path section · e1029ae2
      Fam Zheng 提交于
      This file is actually the header for async.c and aio-*.c., so add it to
      the same section.
      Suggested-by: NMax Reitz <mreitz@redhat.com>
      Signed-off-by: NFam Zheng <famz@redhat.com>
      Message-id: 1468826387-10473-1-git-send-email-famz@redhat.com
      Signed-off-by: NStefan Hajnoczi <stefanha@redhat.com>
      e1029ae2
    • C
      virtio-blk: dataplane cleanup · ab3b9c1b
      Cao jin 提交于
      No need duplicate the judgment, there is one in function entry.
      
      Cc: Stefan Hajnoczi <stefanha@redhat.com>
      Cc: Kevin Wolf <kwolf@redhat.com>
      Cc: Max Reitz <mreitz@redhat.com>
      Signed-off-by: NCao jin <caoj.fnst@cn.fujitsu.com>
      Reviewed-by: NFam Zheng <famz@redhat.com>
      Message-id: 1468814749-14510-1-git-send-email-caoj.fnst@cn.fujitsu.com
      Signed-off-by: NStefan Hajnoczi <stefanha@redhat.com>
      ab3b9c1b
    • S
      checkpatch: consider git extended headers valid patches · f8dccbb6
      Stefan Hajnoczi 提交于
      Renames look like this with git-diff(1) when diff.renames = true is set:
      
        diff --git a/a b/b
        similarity index 100%
        rename from a
        rename to b
      
      This raises the "Does not appear to be a unified-diff format patch"
      error because checkpatch.pl only considers a diff valid if it contains
      at least one "@@" hunk.
      
      This patch accepts renames and copies too so that checkpatch.pl exits
      successfully when a diff only renames/copies files.  The git diff
      extended header format is described on the git-diff(1) man page.
      Reported-by: NColin Lord <clord@redhat.com>
      Signed-off-by: NStefan Hajnoczi <stefanha@redhat.com>
      Reviewed-by: NEric Blake <eblake@redhat.com>
      Message-id: 1468576014-28788-1-git-send-email-stefanha@redhat.com
      Signed-off-by: NStefan Hajnoczi <stefanha@redhat.com>
      f8dccbb6
    • C
      aio-posix: remove useless parameter · 7e003465
      Cao jin 提交于
      Parameter **errp of aio_context_setup() is useless, remove it
      and clean up the related code.
      
      Cc: Stefan Hajnoczi <stefanha@redhat.com>
      Cc: Fam Zheng <famz@redhat.com>
      Cc: Eric Blake <eblake@redhat.com>
      Signed-off-by: NCao jin <caoj.fnst@cn.fujitsu.com>
      Reviewed-by: NEric Blake <eblake@redhat.com>
      Message-id: 1468578524-23433-1-git-send-email-caoj.fnst@cn.fujitsu.com
      Signed-off-by: NStefan Hajnoczi <stefanha@redhat.com>
      7e003465
    • R
      linux-aio: prevent submitting more than MAX_EVENTS · 5e1b34a3
      Roman Pen 提交于
      Invoking io_setup(MAX_EVENTS) we ask kernel to create ring buffer for us
      with specified number of events.  But kernel ring buffer allocation logic
      is a bit tricky (ring buffer is page size aligned + some percpu allocation
      are required) so eventually more than requested events number is allocated.
      
      From a userspace side we have to follow the convention and should not try
      to io_submit() more or logic, which consumes completed events, should be
      changed accordingly.  The pitfall is in the following sequence:
      
          MAX_EVENTS = 128
          io_setup(MAX_EVENTS)
      
          io_submit(MAX_EVENTS)
          io_submit(MAX_EVENTS)
      
          /* now 256 events are in-flight */
      
          io_getevents(MAX_EVENTS) = 128
      
          /* we can handle only 128 events at once, to be sure
           * that nothing is pended the io_getevents(MAX_EVENTS)
           * call must be invoked once more or hang will happen. */
      
      To prevent the hang or reiteration of io_getevents() call this patch
      restricts the number of in-flights, which is now limited to MAX_EVENTS.
      Signed-off-by: NRoman Pen <roman.penyaev@profitbricks.com>
      Reviewed-by: NFam Zheng <famz@redhat.com>
      Reviewed-by: NPaolo Bonzini <pbonzini@redhat.com>
      Reviewed-by: NStefan Hajnoczi <stefanha@redhat.com>
      Message-id: 1468415004-31755-1-git-send-email-roman.penyaev@profitbricks.com
      Cc: Stefan Hajnoczi <stefanha@redhat.com>
      Cc: qemu-devel@nongnu.org
      Signed-off-by: NStefan Hajnoczi <stefanha@redhat.com>
      5e1b34a3
    • C
      aio_ctx_check: follow CODING_STYLE · 6977d901
      Cao jin 提交于
      replace tab with spaces
      Signed-off-by: NCao jin <caoj.fnst@cn.fujitsu.com>
      Message-id: 1468501843-14927-1-git-send-email-caoj.fnst@cn.fujitsu.com
      Signed-off-by: NStefan Hajnoczi <stefanha@redhat.com>
      6977d901
    • P
      linux-aio: share one LinuxAioState within an AioContext · 0187f5c9
      Paolo Bonzini 提交于
      This has better performance because it executes fewer system calls
      and does not use a bottom half per disk.
      
      Originally proposed by Ming Lei.
      
      [Changed #include "raw-aio.h" to "block/raw-aio.h" in win32-aio.c to fix
      build error as reported by Peter Maydell <peter.maydell@linaro.org>.
      --Stefan]
      Acked-by: NStefan Hajnoczi <stefanha@redhat.com>
      Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
      Message-id: 1467650000-51385-1-git-send-email-pbonzini@redhat.com
      Signed-off-by: NStefan Hajnoczi <stefanha@redhat.com>
      
      squash! linux-aio: share one LinuxAioState within an AioContext
      0187f5c9
    • V
      spec/parallels: fix a mistake · 4e90ccc2
      Vladimir Sementsov-Ogievskiy 提交于
      We have only one flag for now - Empty Image flag. The patch fixes unused
      bits specification and marks bit 1 as usused.
      Signed-off-by: NVladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
      Signed-off-by: NDenis V. Lunev <den@openvz.org>
      CC: Stefan Hajnoczi <stefanha@redhat.com>
      Signed-off-by: NStefan Hajnoczi <stefanha@redhat.com>
      4e90ccc2
    • P
      Merge remote-tracking branch 'remotes/dgibson/tags/ppc-for-2.7-20160718' into staging · 3913d370
      Peter Maydell 提交于
      ppc patch queue 2016-07-18
      
      Here's what ought to be the final ppc pull request before the 2.7 hard
      freeze.  This set contains a rework of the DBDMA device for Mac
      platforms, and some assorted cleanups and bugfixes.
      
      # gpg: Signature made Mon 18 Jul 2016 05:35:27 BST
      # gpg:                using RSA key 0x6C38CACA20D9B392
      # gpg: Good signature from "David Gibson <david@gibson.dropbear.id.au>"
      # gpg:                 aka "David Gibson (Red Hat) <dgibson@redhat.com>"
      # gpg:                 aka "David Gibson (ozlabs.org) <dgibson@ozlabs.org>"
      # gpg: WARNING: This key is not certified with sufficiently trusted signatures!
      # gpg:          It is not certain that the signature belongs to the owner.
      # Primary key fingerprint: 75F4 6586 AE61 A66C C44E  87DC 6C38 CACA 20D9 B392
      
      * remotes/dgibson/tags/ppc-for-2.7-20160718:
        ppc: Yet another fix for the huge page support detection mechanism
        target-ppc: fix left shift overflow in hpte_page_shift
        ppc/mmu-hash64: Remove duplicated #include statement
        ppc: abort if compat property contains an unknown value
        spapr: Ensure CPU cores are added contiguously and removed in LIFO order
        vfio/spapr: Remove stale ioctl() call
        ppc: Fix support for odd MSR combinations
        dbdma: reset io->processing flag for unassigned DBDMA channel rw accesses
        dbdma: set FLUSH bit upon reception of flush command for unassigned DBDMA channels
        dbdma: fix load_word/store_word value endianness
        dbdma: fix endian of DBDMA_CMDPTR_LO during branch
        dbdma: add per-channel debugging enabled via DEBUG_DBDMA_CHANMASK
        dbdma: always define DBDMA_DPRINTF and enable debug with DEBUG_DBDMA
        spapr: fix core unplug crash
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      3913d370
    • T
      ppc: Yet another fix for the huge page support detection mechanism · 159d2e39
      Thomas Huth 提交于
      Commit 86b50f2e ("Disable huge page support if it is not available
      for main RAM") already made sure that huge page support is not announced
      to the guest if the normal RAM of non-NUMA configurations is not backed
      by a huge page filesystem. However, there is one more case that can go
      wrong: NUMA is enabled, but the RAM of the NUMA nodes are not configured
      with huge page support (and only the memory of a DIMM is configured with
      it). When QEMU is started with the following command line for example,
      the Linux guest currently crashes because it is trying to use huge pages
      on a memory region that does not support huge pages:
      
       qemu-system-ppc64 -enable-kvm ... -m 1G,slots=4,maxmem=32G -object \
         memory-backend-file,policy=default,mem-path=/hugepages,size=1G,id=mem-mem1 \
         -device pc-dimm,id=dimm-mem1,memdev=mem-mem1 -smp 2 \
         -numa node,nodeid=0 -numa node,nodeid=1
      
      To fix this issue, we've got to make sure to disable huge page support,
      too, when there is a NUMA node that is not using a memory backend with
      huge page support.
      
      Fixes: 86b50f2eSigned-off-by: NThomas Huth <thuth@redhat.com>
      Signed-off-by: NDavid Gibson <david@gibson.dropbear.id.au>
      159d2e39