[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-devel] [qemu-mainline bisection] complete test-amd64-amd64-xl-pvh-amd



branch xen-unstable
xen branch xen-unstable
job test-amd64-amd64-xl-pvh-amd
test xen-boot

Tree: linux git://xenbits.xen.org/linux-pvops.git
Tree: linuxfirmware git://xenbits.xen.org/osstest/linux-firmware.git
Tree: qemu git://xenbits.xen.org/staging/qemu-xen-unstable.git
Tree: qemuu git://git.qemu.org/qemu.git
Tree: xen git://xenbits.xen.org/xen.git

*** Found and reproduced problem changeset ***

  Bug is in tree:  qemuu git://git.qemu.org/qemu.git
  Bug introduced:  a2aa09e18186801931763fbd40a751fa39971b18
  Bug not present: 7e4804dafd4689312ef1172b549927a973bb5414


  commit a2aa09e18186801931763fbd40a751fa39971b18
  Merge: 7e4804d 47d4be1
  Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
  Date:   Mon Sep 14 16:13:16 2015 +0100

      Merge remote-tracking branch 'remotes/bonzini/tags/for-upstream' into 
staging

      * Support for jemalloc
      * qemu_mutex_lock_iothread "No such process" fix
      * cutils: qemu_strto* wrappers
      * iohandler.c simplification
      * Many other fixes and misc patches.

      And some MTTCG work (with Emilio's fixes squashed):
      * Signal-free TCG kick
      * Removing spinlock in favor of QemuMutex
      * User-mode emulation multi-threading fixes/docs

      # gpg: Signature made Thu 10 Sep 2015 09:03:07 BST using RSA key ID 
78C7AE83
      # gpg: Good signature from "Paolo Bonzini <bonzini@xxxxxxx>"
      # gpg:                 aka "Paolo Bonzini <pbonzini@xxxxxxxxxx>"

      * remotes/bonzini/tags/for-upstream: (44 commits)
        cutils: work around platform differences in strto{l,ul,ll,ull}
        cpu-exec: fix lock hierarchy for user-mode emulation
        exec: make mmap_lock/mmap_unlock globally available
        tcg: comment on which functions have to be called with mmap_lock held
        tcg: add memory barriers in page_find_alloc accesses
        remove unused spinlock.
        replace spinlock by QemuMutex.
        cpus: remove tcg_halt_cond and tcg_cpu_thread globals
        cpus: protect work list with work_mutex
        scripts/dump-guest-memory.py: fix after RAMBlock change
        configure: Add support for jemalloc
        add macro file for coccinelle
        configure: factor out adding disas configure
        vhost-scsi: fix wrong vhost-scsi firmware path
        checkpatch: remove tests that are not relevant outside the kernel
        checkpatch: adapt some tests to QEMU
        CODING_STYLE: update mixed declaration rules
        qmp: Add example usage of strto*l() qemu wrapper
        cutils: Add qemu_strtoull() wrapper
        cutils: Add qemu_strtoll() wrapper
        ...

      Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>

  commit 47d4be12c3997343e436c6cca89aefbbbeb70863
  Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
  Date:   Thu Sep 10 10:02:00 2015 +0200

      cutils: work around platform differences in strto{l,ul,ll,ull}

      Linux returns 0 if no conversion was made, while OS X and presumably
      the BSDs return EINVAL.  The OS X convention rejects more invalid
      inputs, so convert to it and adjust the test case.

      Windows returns 1 from strtoul and strtoull (instead of -1) for
      negative out-of-range input; fix it up.

      Reported-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
      Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>

  commit 9fd1a94888cd6a559f95c3596ec1ac28b74838c1
  Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
  Date:   Tue Aug 11 11:33:24 2015 +0200

      cpu-exec: fix lock hierarchy for user-mode emulation

      tb_lock has to be taken inside the mmap_lock (example:
      tb_invalidate_phys_range is called by target_mmap), but
      tb_link_page is taking the mmap_lock and it is called
      with the tb_lock held.

      To fix this, take the mmap_lock in tb_find_slow, not
      in tb_link_page.

      Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
      Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>

  commit 8fd19e6cfd5b6cdf028c6ac2ff4157ed831ea3a6
  Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
  Date:   Tue Aug 11 10:57:52 2015 +0200

      exec: make mmap_lock/mmap_unlock globally available

      There is some iffy lock hierarchy going on in translate-all.c.  To
      fix it, we need to take the mmap_lock in cpu-exec.c.  Make the
      functions globally available.

      Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
      Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>

  commit 756920876f60829fad0d15df4f3fa205077a8131
  Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
  Date:   Tue Aug 11 10:59:50 2015 +0200

      tcg: comment on which functions have to be called with mmap_lock held

      Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
      Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>

  commit 6940fab84b826175cf90d48d0e3da1b76518f5b4
  Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
  Date:   Wed Aug 12 09:41:40 2015 +0200

      tcg: add memory barriers in page_find_alloc accesses

      page_find is reading the radix tree outside all locks, so it has to
      use the RCU primitives.  It does not need RCU critical sections
      because the PageDescs are never removed, so there is never a need
      to wait for the end of code sections that use a PageDesc.

      Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>

  commit 2496ff1311283480f9de3614080b8842d838ade4
  Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
  Date:   Mon Aug 10 17:27:03 2015 +0200

      remove unused spinlock.

      This just removes spinlock as it is not used anymore.

      Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
      Message-Id: <1439220437-23957-6-git-send-email-fred.konrad@xxxxxxxxxxxxx>
      Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>

  commit 677ef6230b603571ae05125db469f7b4c8912a77
  Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
  Date:   Mon Aug 10 17:27:02 2015 +0200

      replace spinlock by QemuMutex.

      spinlock is only used in two cases:
        * cpu-exec.c: to protect TranslationBlock
        * mem_helper.c: for lock helper in target-i386 (which seems broken).

      It's a pthread_mutex_t in user-mode, so we can use QemuMutex directly,
      with an #ifdef.  The #ifdef will be removed when multithreaded TCG
      will need the mutex as well.

      Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
      Message-Id: <1439220437-23957-5-git-send-email-fred.konrad@xxxxxxxxxxxxx>
      Signed-off-by: Emilio G. Cota <cota@xxxxxxxxx>
      [Merge Emilio G. Cota's patch to remove volatile. - Paolo]
      Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>

  commit d5f8d61390de8f2acc0da93f184e421a709cb503
  Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
  Date:   Mon Aug 10 17:27:06 2015 +0200

      cpus: remove tcg_halt_cond and tcg_cpu_thread globals

      This hides the tcg_halt_cond and tcg_cpu_thread global variables
      inside qemu_tcg_init_vcpu.  Multi-threaded TCG will need one
      QemuCond and one QemuThread per virtual cpu, so it's preferrable
      to use cpu->halt_cond and cpu->thread.

      Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
      Message-Id: <1439220437-23957-9-git-send-email-fred.konrad@xxxxxxxxxxxxx>
      Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>

  commit 376692b9dc6f02303ee07a4146d08d8727d79c0c
  Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
  Date:   Fri Jul 10 12:32:32 2015 +0200

      cpus: protect work list with work_mutex

      Protect the list of queued work items with something other than
      the BQL, as a preparation for running the work items outside it.

      Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
      Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
      Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>

  commit 0c71d41e2aa3c7356500ae624166f3bb8c201aee
  Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
  Date:   Thu Aug 27 12:06:23 2015 +0300

      scripts/dump-guest-memory.py: fix after RAMBlock change

      commit 9b8424d5735278ca382f11adc7c63072b632ab83
          "exec: split length -> used_length/max_length"
      changed field names in struct RAMBlock

      It turns out that scripts/dump-guest-memory.py was
      poking at this field, update it accordingly.

      Cc: qemu-stable@xxxxxxxxxx
      Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx>
      Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
      Message-Id: <1440666378-3152-1-git-send-email-mst@xxxxxxxxxx>
      Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>

  commit 7b01cb974f1093885c40bf4d0d3e78e27e531363
  Author: Alexandre Derumier <aderumier@xxxxxxxxx>
  Date:   Fri Jun 19 12:56:58 2015 +0200

      configure: Add support for jemalloc

      This adds "--enable-jemalloc" and "--disable-jemalloc" to allow linking
      to jemalloc memory allocator.

      We have already tcmalloc support,
      but it seem to not working well with a lot of iothreads/disks.

      The main problem is that tcmalloc use a shared thread cache of 16MB
      by default.
      With more threads, this cache is shared, and some bad garbage collections
      can occur if the cache is too low.

      It's possible to tcmalloc cache increase it with a env var:
      TCMALLOC_MAX_TOTAL_THREAD_CACHE_BYTES=256MB

      With default 16MB, performances are  really bad with more than 2 disks.
      Increasing to 256MB, it's helping but still have problem with 16 
disks/iothreads.

      Jemalloc don't have performance problem with default configuration.

      Here the benchmark results in iops of 1 qemu vm randread 4K iodepth=32,
      with rbd block backend (librbd is doing a lot of memory allocation),
      1 iothread by disk

      glibc malloc
      ------------

      1 disk      29052
      2 disks     55878
      4 disks     127899
      8 disks     240566
      15 disks    269976

      jemalloc
      --------

      1 disk      41278
      2 disks     75781
      4 disks     195351
      8 disks     294241
      15 disks    298199

      tcmalloc 2.2.1 default 16M cache
      --------------------------------

      1 disk   37911
      2 disks  67698
      4 disks  41076
      8 disks  43312
      15 disks 37569

      tcmalloc : 256M cache
      ---------------------------

      1 disk     33914
      2 disks    58839
      4 disks    148205
      8 disks    213298
      15 disks   218383

      Signed-off-by: Alexandre Derumier <aderumier@xxxxxxxxx>
      Message-Id: <1434711418-20429-1-git-send-email-aderumier@xxxxxxxxx>
      Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>

  commit 3f7a899ff4e0681ed148b1cea07dc65550114fdb
  Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
  Date:   Mon Sep 7 09:50:09 2015 +0200

      add macro file for coccinelle

      Coccinelle chokes on some idioms from compiler.h and queue.h.
      Extract those in a macro file, to be used with "--macro-file
      scripts/cocci-macro-file.h".

      Reviewed-by: Markus Armbruster <armbru@xxxxxxxxxx>
      Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>

  commit c765fcac96e111199225c7387c01694fe076b341
  Author: Peter Crosthwaite <crosthwaitepeter@xxxxxxxxx>
  Date:   Sat Aug 29 03:33:59 2015 -0700

      configure: factor out adding disas configure

      Every arch adds its disas configury to both its own config as well
      config_disas_all. Make a small function do to both at once.

      Signed-off-by: Peter Crosthwaite <crosthwaite.peter@xxxxxxxxx>
      Message-Id: 
<1440844439-19391-1-git-send-email-crosthwaite.peter@xxxxxxxxx>
      Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>

  commit f42bf6a262ab5923a1a3bc8f731b830396937c47
  Author: Gonglei <arei.gonglei@xxxxxxxxxx>
  Date:   Wed Aug 26 09:52:51 2015 +0800

      vhost-scsi: fix wrong vhost-scsi firmware path

      vhost-scsi bootindex does't work because Qemu passes
      wrong fireware path to seabios.

      before:
        /pci@i0cf8/scsi@7channel@0/vhost-scsi@0,0
      after applying the patch:
        /pci@i0cf8/scsi@7/channel@0/vhost-scsi@0,0

      Reported-by: Subo <subo7@xxxxxxxxxx>
      Signed-off-by: Gonglei <arei.gonglei@xxxxxxxxxx>
      Message-Id: <1440553971-11108-1-git-send-email-arei.gonglei@xxxxxxxxxx>
      Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>

  commit f1e155bbf863ade457019c6f09d4cba06b2d6bb4
  Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
  Date:   Sun Aug 16 23:01:19 2015 +0200

      checkpatch: remove tests that are not relevant outside the kernel

      Fully removing Sparse support requires more invasive changes.  Only
      remove the really kernel-specific parts such as address space names.

      Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>

  commit 71c47b01ca0df34d6b41e0975be6e0633c5254cf
  Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
  Date:   Sun Aug 16 23:15:46 2015 +0200

      checkpatch: adapt some tests to QEMU

      Mostly change severity levels, but some tests can also be adjusted to 
refer
      to QEMU APIs or data structures.

      Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
      Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>

  commit 690a35e1f2acf4ccd0501b18228bc6fba8f9c768
  Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
  Date:   Fri Jun 19 09:28:13 2015 +0200

      CODING_STYLE: update mixed declaration rules

      Mixed declarations do come in handy at the top of #ifdef blocks.
      Reluctantly allow this particular usage and suggest an alternative.

      Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
      Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>

  commit d4ba8cb0a17e7de54753ff1bdeee4428118bb9ab
  Author: Carlos L. Torres <carlos.torres@xxxxxxxxxxxxx>
  Date:   Sun Jul 19 18:02:21 2015 -0500

      qmp: Add example usage of strto*l() qemu wrapper

      Signed-off-by: Carlos L. Torres <carlos.torres@xxxxxxxxxxxxx>
      Message-Id: 
<11ac63e95d88551f1c2c9b1216b15d3cb8ba4468.1437346779.git.carlos.torres@xxxxxxxxxxxxx>
      Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>

  commit 3904e6bf042391abc749d717465022e96e276fc7
  Author: Carlos L. Torres <carlos.torres@xxxxxxxxxxxxx>
  Date:   Sun Jul 19 18:02:20 2015 -0500

      cutils: Add qemu_strtoull() wrapper

      Add wrapper for strtoull() function. Include unit tests.

      Signed-off-by: Carlos L. Torres <carlos.torres@xxxxxxxxxxxxx>
      Message-Id: 
<e0f0f611c9a81f3c29f451d0b17d755dfab1e90a.1437346779.git.carlos.torres@xxxxxxxxxxxxx>
      [Use uint64_t in prototype. - Paolo]
      Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>

  commit 8ac4df40cc5de606a8ac9174e2340c21093b4e3b
  Author: Carlos L. Torres <carlos.torres@xxxxxxxxxxxxx>
  Date:   Sun Jul 19 18:02:19 2015 -0500

      cutils: Add qemu_strtoll() wrapper

      Add wrapper for strtoll() function. Include unit tests.

      Signed-off-by: Carlos L. Torres <carlos.torres@xxxxxxxxxxxxx>
      Message-Id: 
<7454a6bb9ec03b629e8beb4f109dd30dc2c9804c.1437346779.git.carlos.torres@xxxxxxxxxxxxx>
      [Use int64_t in prototype, since that's what QEMU uses. - Paolo]
      Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>

  commit c817c01548b1500753d0bea3852938d919161778
  Author: Carlos L. Torres <carlos.torres@xxxxxxxxxxxxx>
  Date:   Sun Jul 19 18:02:18 2015 -0500

      cutils: Add qemu_strtoul() wrapper

      Add wrapper for strtoul() function. Include unit tests.

      Signed-off-by: Carlos L. Torres <carlos.torres@xxxxxxxxxxxxx>
      Message-Id: 
<9621b4ae8e35fded31c715c2ae2a98f904f07ad0.1437346779.git.carlos.torres@xxxxxxxxxxxxx>
      [Fix tests for 32-bit build. - Paolo]
      Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>

  commit 764e0fa497ff5bbc9c9d7c116da2f00f34e71716
  Author: Carlos L. Torres <carlos.torres@xxxxxxxxxxxxx>
  Date:   Sun Jul 19 18:02:17 2015 -0500

      cutils: Add qemu_strtol() wrapper

      Add wrapper for strtol() function. Include unit tests.

      Signed-off-by: Carlos L. Torres <carlos.torres@xxxxxxxxxxxxx>
      Message-Id: 
<07199f1c0ff3892790c6322123aee1e92f580550.1437346779.git.carlos.torres@xxxxxxxxxxxxx>
      Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>

  commit d1142fb83efdcf8a6c2dee825569892203e16d2c
  Author: Emilio G. Cota <cota@xxxxxxxxx>
  Date:   Sun Aug 23 20:23:39 2015 -0400

      translate-all: remove obsolete comment about l1_map

      l1_map is based on physical addresses in full-system mode, as pointed
      out in an earlier comment. Said comment also mentions that virtual
      addresses are only used in l1_map in user-only mode.

      Signed-off-by: Emilio G. Cota <cota@xxxxxxxxx>
      Message-Id: <1440375847-17603-11-git-send-email-cota@xxxxxxxxx>
      Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>

  commit 709037636992e9289ce9147e59d56fb35d90b140
  Author: Emilio G. Cota <cota@xxxxxxxxx>
  Date:   Sun Aug 23 20:23:41 2015 -0400

      linux-user: call rcu_(un)register_thread on pthread_(exit|create)

      Signed-off-by: Emilio G. Cota <cota@xxxxxxxxx>
      Message-Id: <1440375847-17603-13-git-send-email-cota@xxxxxxxxx>
      Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>

  commit 492e1ca9bd3f43ba417a5cf918e6c769aa2478b9
  Author: Emilio G. Cota <cota@xxxxxxxxx>
  Date:   Sun Aug 23 20:23:38 2015 -0400

      rcu: fix comment with s/rcu_gp_lock/rcu_registry_lock/

      Signed-off-by: Emilio G. Cota <cota@xxxxxxxxx>
      Message-Id: <1440375847-17603-10-git-send-email-cota@xxxxxxxxx>
      Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>

  commit 5243722376873a48e9852a58b91f4d4101ee66e4
  Author: Emilio G. Cota <cota@xxxxxxxxx>
  Date:   Sun Aug 23 20:23:37 2015 -0400

      rcu: init rcu_registry_lock after fork

      We were unlocking this lock after fork, which is wrong since
      only the thread that holds a mutex is allowed to unlock it.

      Signed-off-by: Emilio G. Cota <cota@xxxxxxxxx>
      Message-Id: <1440375847-17603-9-git-send-email-cota@xxxxxxxxx>
      Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>

  commit 12a1ddc160cb6a73e8a6c319f3962a20da2cd22f
  Author: Michael Marineau <michael.marineau@xxxxxxxxxx>
  Date:   Sun Aug 9 00:02:55 2015 -0700

      Makefile.target: include top level build dir in vpath

      Using ccache with CCACHE_BASEDIR set to $(SRC_PATH) or a parent will
      rewrite all absolute paths to relative paths. This interacts poorly with
      QEMU's two-level build directory scheme. For example, lets say
      BUILD_DIR=$(SRC_PATH)/build so build/blockdev.d will contain:

        blockdev.o: ../blockdev.c ../include/sysemu/block-backend.h \

      Now the target build under build/x86_64-softmmu or similar will depend
      on ../blockdev.o which in turn will get make to source ../blockdev.d to
      check its dependencies. Since make always considers paths relative to
      the current working directory rather than the makefile the path appeared
      in the relative path to ../blockdev.c is useless.

      This change simply adds the top level build directory to vpath so paths
      relative to the source directory, top build directory, and target build
      directory all work just fine.

      Signed-off-by: Michael Marineau <michael.marineau@xxxxxxxxxx>
      Message-Id: 
<1439103775-11836-1-git-send-email-michael.marineau@xxxxxxxxxx>
      Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>

  commit 3c9589e180d98cdadb143bd2a792fb9d19d9aec6
  Author: Dr. David Alan Gilbert <dgilbert@xxxxxxxxxx>
  Date:   Fri Aug 14 11:25:14 2015 +0100

      Move RAMBlock and ram_list to ram_addr.h

      Signed-off-by: Dr. David Alan Gilbert <dgilbert@xxxxxxxxxx>
      Message-Id: <1439547914-18249-1-git-send-email-dgilbert@xxxxxxxxxx>
      Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>

  commit e0c382113f768cc375a0d61b7cb3692f1b4bba58
  Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
  Date:   Wed Aug 26 00:19:19 2015 +0200

      tcg: signal-free qemu_cpu_kick

      Signals are slow and do not exist on Win32.  The previous patches
      have done most of the legwork to introduce memory barriers (some
      of them were even there already for the sake of Windows!) and
      we can now set the flags directly in the iothread.

      qemu_cpu_kick_thread is not used anymore on TCG, since the TCG thread is
      never outside usermode while the CPU is running (not halted).  Instead run
      the content of the signal handler (now in qemu_cpu_kick_no_halt) directly.
      qemu_cpu_kick_no_halt is also used in qemu_mutex_lock_iothread to avoid
      the overhead of qemu_cond_broadcast.

      Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
      Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>

  commit 9102dedaa1ee1e89ce4a81283c403ff4928e9ef9
  Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
  Date:   Tue Aug 18 06:52:09 2015 -0700

      use qemu_cpu_kick instead of cpu_exit or qemu_cpu_kick_thread

      Use the same API to trigger interruption of a CPU, no matter if
      under TCG or KVM.  There is no difference: these calls come from
      the CPU thread, so the qemu_cpu_kick calls will send a signal
      to the running thread and it will be processed synchronously,
      just like a call to cpu_exit.  The only difference is in the
      overhead, but neither call to cpu_exit (now qemu_cpu_kick)
      is in a hot path.

      Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
      Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>

  commit aed807c8e2bf009b2c6a35490d4fd4383887221d
  Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
  Date:   Tue Aug 18 06:43:15 2015 -0700

      tcg: synchronize exit_request and tcg_current_cpu accesses

      Synchronize the remaining pair of accesses in cpu_signal.  These should
      be necessary on Windows as well, at least in theory.  Probably
      SuspendProcess and ResumeProcess introduce some implicit memory
      barrier.

      Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
      Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>

  commit ab096a75cd626dcd4ad34b2a11652df0269bee0d
  Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
  Date:   Tue Aug 18 06:34:19 2015 -0700

      tcg: synchronize cpu->exit_request and cpu->tcg_exit_req accesses

      Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
      Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>

  commit b0a46fa796504c7334202877a68c857e49f7c96c
  Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
  Date:   Tue Aug 18 06:32:02 2015 -0700

      tcg: assign cpu->current_tb in a simpler place

      TCG has not been reading cpu->current_tb from signal handlers for years.
      The code that synchronized cpu_exec with the signal handler is not
      needed anymore.

      Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
      Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>

  commit f240eb6fdcf63a5600e15fb44c6960586459a97f
  Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
  Date:   Wed Aug 26 00:17:58 2015 +0200

      remove qemu/tls.h

      TLS is now required on all platforms, so DECLARE_TLS/DEFINE_TLS is not
      needed anymore.  Removing it does not break Windows because of the
      previous patch.

      Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
      Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>

  commit 9373e63297c43752f9cf085feb7f5aed57d959f8
  Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
  Date:   Tue Aug 18 06:24:34 2015 -0700

      tcg: introduce tcg_current_cpu

      This is already useful on Windows in order to remove tls.h, because
      accesses to current_cpu are done from a different thread on that
      platform.  It will be used on POSIX platforms as soon TCG stops using
      signals to interrupt the execution of translated code.

      Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
      Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>

  commit 5039d6e23586fe6bbedc5e4fe302b48a66890ade
  Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
  Date:   Mon Feb 16 14:13:11 2015 +0100

      i8257: remove cpu_request_exit irq

      This is unused.  cpu_exit now is almost exclusively an internal function
      to the CPU execution loop.  In a few patches, we'll change the remaining
      occurrences to qemu_cpu_kick, making it truly internal.

      Reviewed-by: Richard henderson <rth@xxxxxxxxxxx>
      Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>

  commit 19d2b5e6ff7202c2bf45c547efa85ae6c2d76bbd
  Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
  Date:   Mon Feb 16 14:08:22 2015 +0100

      i8257: rewrite DMA_schedule to avoid hooking into the CPU loop

      The i8257 DMA controller uses an idle bottom half, which by default
      does not cause the main loop to exit.  Therefore, the DMA_schedule
      function is there to ensure that the CPU relinquishes the iothread
      mutex to the iothread.

      However, this is not enough since the iothread will call
      aio_compute_timeout() and go to sleep again.  In the iothread
      world, forcing execution of the idle bottom half is much simpler,
      and only requires a call to qemu_notify_event().  Do it, removing
      the need for the "cpu_request_exit" pseudo-irq.  The next patch
      will remove it.

      Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
      Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>

  commit 5f5b5942d56a138baad0ae01458d5d0e62d5be68
  Author: Andrey Smetanin <asmetanin@xxxxxxxxxxxxx>
  Date:   Fri Jul 3 15:01:42 2015 +0300

      Added generic panic handler qemu_system_guest_panicked()

      There are pieces of guest panic handling code
      that can be shared in one generic function.
      These code replaced by call qemu_system_guest_panicked().

      Signed-off-by: Andrey Smetanin <asmetanin@xxxxxxxxxxxxx>
      Signed-off-by: Denis V. Lunev <den@xxxxxxxxxx>
      CC: Paolo Bonzini <pbonzini@xxxxxxxxxx>
      CC: Andreas F�¤rber <afaerber@xxxxxxx>
      Message-Id: <1435924905-8926-10-git-send-email-den@xxxxxxxxxx>
      Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>

  commit 6d1f252d8c1ba73bf6ed9af28731a9c9c3d473a2
  Author: Peter Lieven <pl@xxxxxxx>
  Date:   Fri Aug 14 13:33:36 2015 +0200

      block/iscsi: validate block size returned from target

      It has been reported that at least tgtd returns a block size of 0
      for LUN 0. To avoid running into divide by zero later on and protect
      against other problematic block sizes validate the block size right
      at connection time.

      Cc: qemu-stable@xxxxxxxxxx
      Reported-by: Andrey Korolyov <andrey@xxxxxxx>
      Signed-off-by: Peter Lieven <pl@xxxxxxx>
      Message-Id: <1439552016-8557-1-git-send-email-pl@xxxxxxx>
      Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>

  commit f3926945c85689e8af324c0db0b39be771dbbebb
  Author: Fam Zheng <famz@xxxxxxxxxx>
  Date:   Mon Sep 7 11:28:58 2015 +0800

      iohandler: Use aio API

      iohandler.c shares the same interface with aio, but with duplicated
      code. It's better to rebase iohandler, also because that aio is a
      more friendly interface to multi-threads.

      Create a global AioContext instance and let its GSource handle the
      iohandler events.

      Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
      Message-Id: <1441596538-4412-1-git-send-email-famz@xxxxxxxxxx>
      Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>

  commit 46036b2462c7ff56c0af6466ea6b9248197a38a8
  Author: Aníbal Limón <anibal.limon@xxxxxxxxxxxxxxx>
  Date:   Thu Sep 3 15:48:33 2015 -0500

      cpus.c: qemu_mutex_lock_iothread fix race condition at cpu thread init

      When QEMU starts the RCU thread executes qemu_mutex_lock_thread
      causing error "qemu:qemu_cpu_kick_thread: No such process" and exits.

      This isn't occur frequently but in glibc the thread id can exist and
      this not guarantee that the thread is on active/running state. If is
      inserted a sleep(1) after newthread assignment [1] the issue appears.

      So not make assumption that thread exist if first_cpu->thread is set
      then change the validation of cpu to created that is set into cpu
      threads (kvm, tcg, dummy).

      [1] 
https://sourceware.org/git/?p=glibc.git;a=blob;f=nptl/pthread_create.c;h=d10f4ea8004e1d8f3a268b95cc0f8d93b8d89867;hb=HEAD#l621

      Cc: qemu-stable@xxxxxxxxxx
      Signed-off-by: Aníbal Limón <anibal.limon@xxxxxxxxxxxxxxx>
      Message-Id: 
<1441313313-3040-1-git-send-email-anibal.limon@xxxxxxxxxxxxxxx>
      Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>

  commit d12f7309483e20d1bae9304f4b812bf53a8e6510
  Author: Emilio G. Cota <cota@xxxxxxxxx>
  Date:   Sun Aug 23 20:23:36 2015 -0400

      seqlock: read sequence number atomically

      With this change we make sure that the compiler will not
      optimise the read of the sequence number in any way.

      Signed-off-by: Emilio G. Cota <cota@xxxxxxxxx>
      Message-Id: <1440375847-17603-8-git-send-email-cota@xxxxxxxxx>
      Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>

  commit 123fdbac9b8f1e394fbe92e8b5359193e94ba5bf
  Author: Emilio G. Cota <cota@xxxxxxxxx>
  Date:   Sun Aug 23 20:23:35 2015 -0400

      seqlock: add missing 'inline' to seqlock_read_retry

      Signed-off-by: Emilio G. Cota <cota@xxxxxxxxx>
      Message-Id: <1440375847-17603-7-git-send-email-cota@xxxxxxxxx>
      Reviewed-by: Alex Bennée <alex.bennee@xxxxxxxxxx>
      Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>

  commit 16ef9d0252318d7e32e445fd7474af55dbaab7db
  Author: Emilio G. Cota <cota@xxxxxxxxx>
  Date:   Sun Aug 23 20:23:40 2015 -0400

      qemu-thread: handle spurious futex_wait wakeups

      Signed-off-by: Emilio G. Cota <cota@xxxxxxxxx>
      Message-Id: <1440375847-17603-12-git-send-email-cota@xxxxxxxxx>
      Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>


For bisection revision-tuple graph see:
   
http://logs.test-lab.xenproject.org/osstest/results/bisect/qemu-mainline/test-amd64-amd64-xl-pvh-amd.xen-boot.html
Revision IDs in each graph node refer, respectively, to the Trees above.

----------------------------------------
Running cs-bisection-step 
--graph-out=/home/logs/results/bisect/qemu-mainline/test-amd64-amd64-xl-pvh-amd.xen-boot
 --summary-out=tmp/62182.bisection-summary --basis-template=61666 
--blessings=real,real-bisect qemu-mainline test-amd64-amd64-xl-pvh-amd xen-boot
Searching for failure / basis pass:
 62028 fail [host=pinot0] / 61883 ok.
Failure / basis pass flights: 62028 / 61883
(tree with no url: ovmf)
(tree with no url: seabios)
Tree: linux git://xenbits.xen.org/linux-pvops.git
Tree: linuxfirmware git://xenbits.xen.org/osstest/linux-firmware.git
Tree: qemu git://xenbits.xen.org/staging/qemu-xen-unstable.git
Tree: qemuu git://git.qemu.org/qemu.git
Tree: xen git://xenbits.xen.org/xen.git
Latest 9b8b905951bde404f20a7bd4b37a5134f3484569 
c530a75c1e6a472b0eb9558310b518f0dfcd8860 
5cdde31eacdd288359746019ad05cac8ed5d9f70 
2752e5bedb26fa0c7291f810f9f534b688b2f1d2 
a7b39c8bd6cba3fe1c8012987b9e28bdbac7e92d
Basis pass 9b8b905951bde404f20a7bd4b37a5134f3484569 
c530a75c1e6a472b0eb9558310b518f0dfcd8860 
5cdde31eacdd288359746019ad05cac8ed5d9f70 
30c38c90bd3f1bb105ebc069ac1821067c980b7c 
a7b39c8bd6cba3fe1c8012987b9e28bdbac7e92d
Generating revisions with ./adhoc-revtuple-generator  
git://xenbits.xen.org/linux-pvops.git#9b8b905951bde404f20a7bd4b37a5134f3484569-9b8b905951bde404f20a7bd4b37a5134f3484569
 
git://xenbits.xen.org/osstest/linux-firmware.git#c530a75c1e6a472b0eb9558310b518f0dfcd8860-c530a75c1e6a472b0eb9558310b518f0dfcd8860
 
git://xenbits.xen.org/staging/qemu-xen-unstable.git#5cdde31eacdd288359746019ad05cac8ed5d9f70-5cdde31eacdd288359746019ad05cac8ed5d9f70
 
git://git.qemu.org/qemu.git#30c38c90bd3f1bb105ebc069ac1821067c980b7c-2752e5bedb26fa0c7291f810f9f534b688b2f1d2
 
git://xenbits.xen.org/xen.git#a7b39c8bd6cba3fe1c8012987b9e28bdbac7e92d-a7b39c8bd6cba3fe1c8012987b9e28bdbac7e92d
Loaded 1003 nodes in revision graph
Searching for test results:
 61883 pass 9b8b905951bde404f20a7bd4b37a5134f3484569 
c530a75c1e6a472b0eb9558310b518f0dfcd8860 
5cdde31eacdd288359746019ad05cac8ed5d9f70 
30c38c90bd3f1bb105ebc069ac1821067c980b7c 
a7b39c8bd6cba3fe1c8012987b9e28bdbac7e92d
 62028 fail 9b8b905951bde404f20a7bd4b37a5134f3484569 
c530a75c1e6a472b0eb9558310b518f0dfcd8860 
5cdde31eacdd288359746019ad05cac8ed5d9f70 
2752e5bedb26fa0c7291f810f9f534b688b2f1d2 
a7b39c8bd6cba3fe1c8012987b9e28bdbac7e92d
 62094 pass 9b8b905951bde404f20a7bd4b37a5134f3484569 
c530a75c1e6a472b0eb9558310b518f0dfcd8860 
5cdde31eacdd288359746019ad05cac8ed5d9f70 
30c38c90bd3f1bb105ebc069ac1821067c980b7c 
a7b39c8bd6cba3fe1c8012987b9e28bdbac7e92d
 62167 fail 9b8b905951bde404f20a7bd4b37a5134f3484569 
c530a75c1e6a472b0eb9558310b518f0dfcd8860 
5cdde31eacdd288359746019ad05cac8ed5d9f70 
2752e5bedb26fa0c7291f810f9f534b688b2f1d2 
a7b39c8bd6cba3fe1c8012987b9e28bdbac7e92d
 62169 pass 9b8b905951bde404f20a7bd4b37a5134f3484569 
c530a75c1e6a472b0eb9558310b518f0dfcd8860 
5cdde31eacdd288359746019ad05cac8ed5d9f70 
7cb36e18b2f1c1f971ebdc2121de22a8c2e94fd6 
a7b39c8bd6cba3fe1c8012987b9e28bdbac7e92d
 62170 pass 9b8b905951bde404f20a7bd4b37a5134f3484569 
c530a75c1e6a472b0eb9558310b518f0dfcd8860 
5cdde31eacdd288359746019ad05cac8ed5d9f70 
0c5fbf3b4c1e5210354de71a3dc2ebc8c8a01f31 
a7b39c8bd6cba3fe1c8012987b9e28bdbac7e92d
 62171 pass 9b8b905951bde404f20a7bd4b37a5134f3484569 
c530a75c1e6a472b0eb9558310b518f0dfcd8860 
5cdde31eacdd288359746019ad05cac8ed5d9f70 
f0d574d63f4603ec431f16ad535a555bf7548b94 
a7b39c8bd6cba3fe1c8012987b9e28bdbac7e92d
 62172 pass 9b8b905951bde404f20a7bd4b37a5134f3484569 
c530a75c1e6a472b0eb9558310b518f0dfcd8860 
5cdde31eacdd288359746019ad05cac8ed5d9f70 
2b750d9d261bda7f75b39dfc1e1e5f22502929d5 
a7b39c8bd6cba3fe1c8012987b9e28bdbac7e92d
 62174 pass 9b8b905951bde404f20a7bd4b37a5134f3484569 
c530a75c1e6a472b0eb9558310b518f0dfcd8860 
5cdde31eacdd288359746019ad05cac8ed5d9f70 
7e4804dafd4689312ef1172b549927a973bb5414 
a7b39c8bd6cba3fe1c8012987b9e28bdbac7e92d
 62176 fail 9b8b905951bde404f20a7bd4b37a5134f3484569 
c530a75c1e6a472b0eb9558310b518f0dfcd8860 
5cdde31eacdd288359746019ad05cac8ed5d9f70 
a2aa09e18186801931763fbd40a751fa39971b18 
a7b39c8bd6cba3fe1c8012987b9e28bdbac7e92d
 62179 pass 9b8b905951bde404f20a7bd4b37a5134f3484569 
c530a75c1e6a472b0eb9558310b518f0dfcd8860 
5cdde31eacdd288359746019ad05cac8ed5d9f70 
7e4804dafd4689312ef1172b549927a973bb5414 
a7b39c8bd6cba3fe1c8012987b9e28bdbac7e92d
 62180 fail 9b8b905951bde404f20a7bd4b37a5134f3484569 
c530a75c1e6a472b0eb9558310b518f0dfcd8860 
5cdde31eacdd288359746019ad05cac8ed5d9f70 
a2aa09e18186801931763fbd40a751fa39971b18 
a7b39c8bd6cba3fe1c8012987b9e28bdbac7e92d
 62181 pass 9b8b905951bde404f20a7bd4b37a5134f3484569 
c530a75c1e6a472b0eb9558310b518f0dfcd8860 
5cdde31eacdd288359746019ad05cac8ed5d9f70 
7e4804dafd4689312ef1172b549927a973bb5414 
a7b39c8bd6cba3fe1c8012987b9e28bdbac7e92d
 62182 fail 9b8b905951bde404f20a7bd4b37a5134f3484569 
c530a75c1e6a472b0eb9558310b518f0dfcd8860 
5cdde31eacdd288359746019ad05cac8ed5d9f70 
a2aa09e18186801931763fbd40a751fa39971b18 
a7b39c8bd6cba3fe1c8012987b9e28bdbac7e92d
Searching for interesting versions
 Result found: flight 61883 (pass), for basis pass
 Result found: flight 62028 (fail), for basis failure
 Repro found: flight 62094 (pass), for basis pass
 Repro found: flight 62167 (fail), for basis failure
 0 revisions at 9b8b905951bde404f20a7bd4b37a5134f3484569 
c530a75c1e6a472b0eb9558310b518f0dfcd8860 
5cdde31eacdd288359746019ad05cac8ed5d9f70 
7e4804dafd4689312ef1172b549927a973bb5414 
a7b39c8bd6cba3fe1c8012987b9e28bdbac7e92d
No revisions left to test, checking graph state.
 Result found: flight 62174 (pass), for last pass
 Result found: flight 62176 (fail), for first failure
 Repro found: flight 62179 (pass), for last pass
 Repro found: flight 62180 (fail), for first failure
 Repro found: flight 62181 (pass), for last pass
 Repro found: flight 62182 (fail), for first failure

*** Found and reproduced problem changeset ***

  Bug is in tree:  qemuu git://git.qemu.org/qemu.git
  Bug introduced:  a2aa09e18186801931763fbd40a751fa39971b18
  Bug not present: 7e4804dafd4689312ef1172b549927a973bb5414


  commit a2aa09e18186801931763fbd40a751fa39971b18
  Merge: 7e4804d 47d4be1
  Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
  Date:   Mon Sep 14 16:13:16 2015 +0100

      Merge remote-tracking branch 'remotes/bonzini/tags/for-upstream' into 
staging

      * Support for jemalloc
      * qemu_mutex_lock_iothread "No such process" fix
      * cutils: qemu_strto* wrappers
      * iohandler.c simplification
      * Many other fixes and misc patches.

      And some MTTCG work (with Emilio's fixes squashed):
      * Signal-free TCG kick
      * Removing spinlock in favor of QemuMutex
      * User-mode emulation multi-threading fixes/docs

      # gpg: Signature made Thu 10 Sep 2015 09:03:07 BST using RSA key ID 
78C7AE83
      # gpg: Good signature from "Paolo Bonzini <bonzini@xxxxxxx>"
      # gpg:                 aka "Paolo Bonzini <pbonzini@xxxxxxxxxx>"

      * remotes/bonzini/tags/for-upstream: (44 commits)
        cutils: work around platform differences in strto{l,ul,ll,ull}
        cpu-exec: fix lock hierarchy for user-mode emulation
        exec: make mmap_lock/mmap_unlock globally available
        tcg: comment on which functions have to be called with mmap_lock held
        tcg: add memory barriers in page_find_alloc accesses
        remove unused spinlock.
        replace spinlock by QemuMutex.
        cpus: remove tcg_halt_cond and tcg_cpu_thread globals
        cpus: protect work list with work_mutex
        scripts/dump-guest-memory.py: fix after RAMBlock change
        configure: Add support for jemalloc
        add macro file for coccinelle
        configure: factor out adding disas configure
        vhost-scsi: fix wrong vhost-scsi firmware path
        checkpatch: remove tests that are not relevant outside the kernel
        checkpatch: adapt some tests to QEMU
        CODING_STYLE: update mixed declaration rules
        qmp: Add example usage of strto*l() qemu wrapper
        cutils: Add qemu_strtoull() wrapper
        cutils: Add qemu_strtoll() wrapper
        ...

      Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>

  commit 47d4be12c3997343e436c6cca89aefbbbeb70863
  Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
  Date:   Thu Sep 10 10:02:00 2015 +0200

      cutils: work around platform differences in strto{l,ul,ll,ull}

      Linux returns 0 if no conversion was made, while OS X and presumably
      the BSDs return EINVAL.  The OS X convention rejects more invalid
      inputs, so convert to it and adjust the test case.

      Windows returns 1 from strtoul and strtoull (instead of -1) for
      negative out-of-range input; fix it up.

      Reported-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
      Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>

  commit 9fd1a94888cd6a559f95c3596ec1ac28b74838c1
  Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
  Date:   Tue Aug 11 11:33:24 2015 +0200

      cpu-exec: fix lock hierarchy for user-mode emulation

      tb_lock has to be taken inside the mmap_lock (example:
      tb_invalidate_phys_range is called by target_mmap), but
      tb_link_page is taking the mmap_lock and it is called
      with the tb_lock held.

      To fix this, take the mmap_lock in tb_find_slow, not
      in tb_link_page.

      Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
      Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>

  commit 8fd19e6cfd5b6cdf028c6ac2ff4157ed831ea3a6
  Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
  Date:   Tue Aug 11 10:57:52 2015 +0200

      exec: make mmap_lock/mmap_unlock globally available

      There is some iffy lock hierarchy going on in translate-all.c.  To
      fix it, we need to take the mmap_lock in cpu-exec.c.  Make the
      functions globally available.

      Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
      Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>

  commit 756920876f60829fad0d15df4f3fa205077a8131
  Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
  Date:   Tue Aug 11 10:59:50 2015 +0200

      tcg: comment on which functions have to be called with mmap_lock held

      Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
      Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>

  commit 6940fab84b826175cf90d48d0e3da1b76518f5b4
  Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
  Date:   Wed Aug 12 09:41:40 2015 +0200

      tcg: add memory barriers in page_find_alloc accesses

      page_find is reading the radix tree outside all locks, so it has to
      use the RCU primitives.  It does not need RCU critical sections
      because the PageDescs are never removed, so there is never a need
      to wait for the end of code sections that use a PageDesc.

      Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>

  commit 2496ff1311283480f9de3614080b8842d838ade4
  Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
  Date:   Mon Aug 10 17:27:03 2015 +0200

      remove unused spinlock.

      This just removes spinlock as it is not used anymore.

      Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
      Message-Id: <1439220437-23957-6-git-send-email-fred.konrad@xxxxxxxxxxxxx>
      Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>

  commit 677ef6230b603571ae05125db469f7b4c8912a77
  Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
  Date:   Mon Aug 10 17:27:02 2015 +0200

      replace spinlock by QemuMutex.

      spinlock is only used in two cases:
        * cpu-exec.c: to protect TranslationBlock
        * mem_helper.c: for lock helper in target-i386 (which seems broken).

      It's a pthread_mutex_t in user-mode, so we can use QemuMutex directly,
      with an #ifdef.  The #ifdef will be removed when multithreaded TCG
      will need the mutex as well.

      Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
      Message-Id: <1439220437-23957-5-git-send-email-fred.konrad@xxxxxxxxxxxxx>
      Signed-off-by: Emilio G. Cota <cota@xxxxxxxxx>
      [Merge Emilio G. Cota's patch to remove volatile. - Paolo]
      Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>

  commit d5f8d61390de8f2acc0da93f184e421a709cb503
  Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
  Date:   Mon Aug 10 17:27:06 2015 +0200

      cpus: remove tcg_halt_cond and tcg_cpu_thread globals

      This hides the tcg_halt_cond and tcg_cpu_thread global variables
      inside qemu_tcg_init_vcpu.  Multi-threaded TCG will need one
      QemuCond and one QemuThread per virtual cpu, so it's preferrable
      to use cpu->halt_cond and cpu->thread.

      Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
      Message-Id: <1439220437-23957-9-git-send-email-fred.konrad@xxxxxxxxxxxxx>
      Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>

  commit 376692b9dc6f02303ee07a4146d08d8727d79c0c
  Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
  Date:   Fri Jul 10 12:32:32 2015 +0200

      cpus: protect work list with work_mutex

      Protect the list of queued work items with something other than
      the BQL, as a preparation for running the work items outside it.

      Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
      Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
      Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>

  commit 0c71d41e2aa3c7356500ae624166f3bb8c201aee
  Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
  Date:   Thu Aug 27 12:06:23 2015 +0300

      scripts/dump-guest-memory.py: fix after RAMBlock change

      commit 9b8424d5735278ca382f11adc7c63072b632ab83
          "exec: split length -> used_length/max_length"
      changed field names in struct RAMBlock

      It turns out that scripts/dump-guest-memory.py was
      poking at this field, update it accordingly.

      Cc: qemu-stable@xxxxxxxxxx
      Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx>
      Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
      Message-Id: <1440666378-3152-1-git-send-email-mst@xxxxxxxxxx>
      Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>

  commit 7b01cb974f1093885c40bf4d0d3e78e27e531363
  Author: Alexandre Derumier <aderumier@xxxxxxxxx>
  Date:   Fri Jun 19 12:56:58 2015 +0200

      configure: Add support for jemalloc

      This adds "--enable-jemalloc" and "--disable-jemalloc" to allow linking
      to jemalloc memory allocator.

      We have already tcmalloc support,
      but it seem to not working well with a lot of iothreads/disks.

      The main problem is that tcmalloc use a shared thread cache of 16MB
      by default.
      With more threads, this cache is shared, and some bad garbage collections
      can occur if the cache is too low.

      It's possible to tcmalloc cache increase it with a env var:
      TCMALLOC_MAX_TOTAL_THREAD_CACHE_BYTES=256MB

      With default 16MB, performances are  really bad with more than 2 disks.
      Increasing to 256MB, it's helping but still have problem with 16 
disks/iothreads.

      Jemalloc don't have performance problem with default configuration.

      Here the benchmark results in iops of 1 qemu vm randread 4K iodepth=32,
      with rbd block backend (librbd is doing a lot of memory allocation),
      1 iothread by disk

      glibc malloc
      ------------

      1 disk      29052
      2 disks     55878
      4 disks     127899
      8 disks     240566
      15 disks    269976

      jemalloc
      --------

      1 disk      41278
      2 disks     75781
      4 disks     195351
      8 disks     294241
      15 disks    298199

      tcmalloc 2.2.1 default 16M cache
      --------------------------------

      1 disk   37911
      2 disks  67698
      4 disks  41076
      8 disks  43312
      15 disks 37569

      tcmalloc : 256M cache
      ---------------------------

      1 disk     33914
      2 disks    58839
      4 disks    148205
      8 disks    213298
      15 disks   218383

      Signed-off-by: Alexandre Derumier <aderumier@xxxxxxxxx>
      Message-Id: <1434711418-20429-1-git-send-email-aderumier@xxxxxxxxx>
      Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>

  commit 3f7a899ff4e0681ed148b1cea07dc65550114fdb
  Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
  Date:   Mon Sep 7 09:50:09 2015 +0200

      add macro file for coccinelle

      Coccinelle chokes on some idioms from compiler.h and queue.h.
      Extract those in a macro file, to be used with "--macro-file
      scripts/cocci-macro-file.h".

      Reviewed-by: Markus Armbruster <armbru@xxxxxxxxxx>
      Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>

  commit c765fcac96e111199225c7387c01694fe076b341
  Author: Peter Crosthwaite <crosthwaitepeter@xxxxxxxxx>
  Date:   Sat Aug 29 03:33:59 2015 -0700

      configure: factor out adding disas configure

      Every arch adds its disas configury to both its own config as well
      config_disas_all. Make a small function do to both at once.

      Signed-off-by: Peter Crosthwaite <crosthwaite.peter@xxxxxxxxx>
      Message-Id: 
<1440844439-19391-1-git-send-email-crosthwaite.peter@xxxxxxxxx>
      Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>

  commit f42bf6a262ab5923a1a3bc8f731b830396937c47
  Author: Gonglei <arei.gonglei@xxxxxxxxxx>
  Date:   Wed Aug 26 09:52:51 2015 +0800

      vhost-scsi: fix wrong vhost-scsi firmware path

      vhost-scsi bootindex does't work because Qemu passes
      wrong fireware path to seabios.

      before:
        /pci@i0cf8/scsi@7channel@0/vhost-scsi@0,0
      after applying the patch:
        /pci@i0cf8/scsi@7/channel@0/vhost-scsi@0,0

      Reported-by: Subo <subo7@xxxxxxxxxx>
      Signed-off-by: Gonglei <arei.gonglei@xxxxxxxxxx>
      Message-Id: <1440553971-11108-1-git-send-email-arei.gonglei@xxxxxxxxxx>
      Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>

  commit f1e155bbf863ade457019c6f09d4cba06b2d6bb4
  Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
  Date:   Sun Aug 16 23:01:19 2015 +0200

      checkpatch: remove tests that are not relevant outside the kernel

      Fully removing Sparse support requires more invasive changes.  Only
      remove the really kernel-specific parts such as address space names.

      Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>

  commit 71c47b01ca0df34d6b41e0975be6e0633c5254cf
  Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
  Date:   Sun Aug 16 23:15:46 2015 +0200

      checkpatch: adapt some tests to QEMU

      Mostly change severity levels, but some tests can also be adjusted to 
refer
      to QEMU APIs or data structures.

      Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
      Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>

  commit 690a35e1f2acf4ccd0501b18228bc6fba8f9c768
  Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
  Date:   Fri Jun 19 09:28:13 2015 +0200

      CODING_STYLE: update mixed declaration rules

      Mixed declarations do come in handy at the top of #ifdef blocks.
      Reluctantly allow this particular usage and suggest an alternative.

      Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
      Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>

  commit d4ba8cb0a17e7de54753ff1bdeee4428118bb9ab
  Author: Carlos L. Torres <carlos.torres@xxxxxxxxxxxxx>
  Date:   Sun Jul 19 18:02:21 2015 -0500

      qmp: Add example usage of strto*l() qemu wrapper

      Signed-off-by: Carlos L. Torres <carlos.torres@xxxxxxxxxxxxx>
      Message-Id: 
<11ac63e95d88551f1c2c9b1216b15d3cb8ba4468.1437346779.git.carlos.torres@xxxxxxxxxxxxx>
      Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>

  commit 3904e6bf042391abc749d717465022e96e276fc7
  Author: Carlos L. Torres <carlos.torres@xxxxxxxxxxxxx>
  Date:   Sun Jul 19 18:02:20 2015 -0500

      cutils: Add qemu_strtoull() wrapper

      Add wrapper for strtoull() function. Include unit tests.

      Signed-off-by: Carlos L. Torres <carlos.torres@xxxxxxxxxxxxx>
      Message-Id: 
<e0f0f611c9a81f3c29f451d0b17d755dfab1e90a.1437346779.git.carlos.torres@xxxxxxxxxxxxx>
      [Use uint64_t in prototype. - Paolo]
      Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>

  commit 8ac4df40cc5de606a8ac9174e2340c21093b4e3b
  Author: Carlos L. Torres <carlos.torres@xxxxxxxxxxxxx>
  Date:   Sun Jul 19 18:02:19 2015 -0500

      cutils: Add qemu_strtoll() wrapper

      Add wrapper for strtoll() function. Include unit tests.

      Signed-off-by: Carlos L. Torres <carlos.torres@xxxxxxxxxxxxx>
      Message-Id: 
<7454a6bb9ec03b629e8beb4f109dd30dc2c9804c.1437346779.git.carlos.torres@xxxxxxxxxxxxx>
      [Use int64_t in prototype, since that's what QEMU uses. - Paolo]
      Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>

  commit c817c01548b1500753d0bea3852938d919161778
  Author: Carlos L. Torres <carlos.torres@xxxxxxxxxxxxx>
  Date:   Sun Jul 19 18:02:18 2015 -0500

      cutils: Add qemu_strtoul() wrapper

      Add wrapper for strtoul() function. Include unit tests.

      Signed-off-by: Carlos L. Torres <carlos.torres@xxxxxxxxxxxxx>
      Message-Id: 
<9621b4ae8e35fded31c715c2ae2a98f904f07ad0.1437346779.git.carlos.torres@xxxxxxxxxxxxx>
      [Fix tests for 32-bit build. - Paolo]
      Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>

  commit 764e0fa497ff5bbc9c9d7c116da2f00f34e71716
  Author: Carlos L. Torres <carlos.torres@xxxxxxxxxxxxx>
  Date:   Sun Jul 19 18:02:17 2015 -0500

      cutils: Add qemu_strtol() wrapper

      Add wrapper for strtol() function. Include unit tests.

      Signed-off-by: Carlos L. Torres <carlos.torres@xxxxxxxxxxxxx>
      Message-Id: 
<07199f1c0ff3892790c6322123aee1e92f580550.1437346779.git.carlos.torres@xxxxxxxxxxxxx>
      Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>

  commit d1142fb83efdcf8a6c2dee825569892203e16d2c
  Author: Emilio G. Cota <cota@xxxxxxxxx>
  Date:   Sun Aug 23 20:23:39 2015 -0400

      translate-all: remove obsolete comment about l1_map

      l1_map is based on physical addresses in full-system mode, as pointed
      out in an earlier comment. Said comment also mentions that virtual
      addresses are only used in l1_map in user-only mode.

      Signed-off-by: Emilio G. Cota <cota@xxxxxxxxx>
      Message-Id: <1440375847-17603-11-git-send-email-cota@xxxxxxxxx>
      Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>

  commit 709037636992e9289ce9147e59d56fb35d90b140
  Author: Emilio G. Cota <cota@xxxxxxxxx>
  Date:   Sun Aug 23 20:23:41 2015 -0400

      linux-user: call rcu_(un)register_thread on pthread_(exit|create)

      Signed-off-by: Emilio G. Cota <cota@xxxxxxxxx>
      Message-Id: <1440375847-17603-13-git-send-email-cota@xxxxxxxxx>
      Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>

  commit 492e1ca9bd3f43ba417a5cf918e6c769aa2478b9
  Author: Emilio G. Cota <cota@xxxxxxxxx>
  Date:   Sun Aug 23 20:23:38 2015 -0400

      rcu: fix comment with s/rcu_gp_lock/rcu_registry_lock/

      Signed-off-by: Emilio G. Cota <cota@xxxxxxxxx>
      Message-Id: <1440375847-17603-10-git-send-email-cota@xxxxxxxxx>
      Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>

  commit 5243722376873a48e9852a58b91f4d4101ee66e4
  Author: Emilio G. Cota <cota@xxxxxxxxx>
  Date:   Sun Aug 23 20:23:37 2015 -0400

      rcu: init rcu_registry_lock after fork

      We were unlocking this lock after fork, which is wrong since
      only the thread that holds a mutex is allowed to unlock it.

      Signed-off-by: Emilio G. Cota <cota@xxxxxxxxx>
      Message-Id: <1440375847-17603-9-git-send-email-cota@xxxxxxxxx>
      Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>

  commit 12a1ddc160cb6a73e8a6c319f3962a20da2cd22f
  Author: Michael Marineau <michael.marineau@xxxxxxxxxx>
  Date:   Sun Aug 9 00:02:55 2015 -0700

      Makefile.target: include top level build dir in vpath

      Using ccache with CCACHE_BASEDIR set to $(SRC_PATH) or a parent will
      rewrite all absolute paths to relative paths. This interacts poorly with
      QEMU's two-level build directory scheme. For example, lets say
      BUILD_DIR=$(SRC_PATH)/build so build/blockdev.d will contain:

        blockdev.o: ../blockdev.c ../include/sysemu/block-backend.h \

      Now the target build under build/x86_64-softmmu or similar will depend
      on ../blockdev.o which in turn will get make to source ../blockdev.d to
      check its dependencies. Since make always considers paths relative to
      the current working directory rather than the makefile the path appeared
      in the relative path to ../blockdev.c is useless.

      This change simply adds the top level build directory to vpath so paths
      relative to the source directory, top build directory, and target build
      directory all work just fine.

      Signed-off-by: Michael Marineau <michael.marineau@xxxxxxxxxx>
      Message-Id: 
<1439103775-11836-1-git-send-email-michael.marineau@xxxxxxxxxx>
      Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>

  commit 3c9589e180d98cdadb143bd2a792fb9d19d9aec6
  Author: Dr. David Alan Gilbert <dgilbert@xxxxxxxxxx>
  Date:   Fri Aug 14 11:25:14 2015 +0100

      Move RAMBlock and ram_list to ram_addr.h

      Signed-off-by: Dr. David Alan Gilbert <dgilbert@xxxxxxxxxx>
      Message-Id: <1439547914-18249-1-git-send-email-dgilbert@xxxxxxxxxx>
      Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>

  commit e0c382113f768cc375a0d61b7cb3692f1b4bba58
  Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
  Date:   Wed Aug 26 00:19:19 2015 +0200

      tcg: signal-free qemu_cpu_kick

      Signals are slow and do not exist on Win32.  The previous patches
      have done most of the legwork to introduce memory barriers (some
      of them were even there already for the sake of Windows!) and
      we can now set the flags directly in the iothread.

      qemu_cpu_kick_thread is not used anymore on TCG, since the TCG thread is
      never outside usermode while the CPU is running (not halted).  Instead run
      the content of the signal handler (now in qemu_cpu_kick_no_halt) directly.
      qemu_cpu_kick_no_halt is also used in qemu_mutex_lock_iothread to avoid
      the overhead of qemu_cond_broadcast.

      Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
      Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>

  commit 9102dedaa1ee1e89ce4a81283c403ff4928e9ef9
  Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
  Date:   Tue Aug 18 06:52:09 2015 -0700

      use qemu_cpu_kick instead of cpu_exit or qemu_cpu_kick_thread

      Use the same API to trigger interruption of a CPU, no matter if
      under TCG or KVM.  There is no difference: these calls come from
      the CPU thread, so the qemu_cpu_kick calls will send a signal
      to the running thread and it will be processed synchronously,
      just like a call to cpu_exit.  The only difference is in the
      overhead, but neither call to cpu_exit (now qemu_cpu_kick)
      is in a hot path.

      Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
      Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>

  commit aed807c8e2bf009b2c6a35490d4fd4383887221d
  Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
  Date:   Tue Aug 18 06:43:15 2015 -0700

      tcg: synchronize exit_request and tcg_current_cpu accesses

      Synchronize the remaining pair of accesses in cpu_signal.  These should
      be necessary on Windows as well, at least in theory.  Probably
      SuspendProcess and ResumeProcess introduce some implicit memory
      barrier.

      Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
      Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>

  commit ab096a75cd626dcd4ad34b2a11652df0269bee0d
  Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
  Date:   Tue Aug 18 06:34:19 2015 -0700

      tcg: synchronize cpu->exit_request and cpu->tcg_exit_req accesses

      Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
      Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>

  commit b0a46fa796504c7334202877a68c857e49f7c96c
  Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
  Date:   Tue Aug 18 06:32:02 2015 -0700

      tcg: assign cpu->current_tb in a simpler place

      TCG has not been reading cpu->current_tb from signal handlers for years.
      The code that synchronized cpu_exec with the signal handler is not
      needed anymore.

      Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
      Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>

  commit f240eb6fdcf63a5600e15fb44c6960586459a97f
  Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
  Date:   Wed Aug 26 00:17:58 2015 +0200

      remove qemu/tls.h

      TLS is now required on all platforms, so DECLARE_TLS/DEFINE_TLS is not
      needed anymore.  Removing it does not break Windows because of the
      previous patch.

      Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
      Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>

  commit 9373e63297c43752f9cf085feb7f5aed57d959f8
  Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
  Date:   Tue Aug 18 06:24:34 2015 -0700

      tcg: introduce tcg_current_cpu

      This is already useful on Windows in order to remove tls.h, because
      accesses to current_cpu are done from a different thread on that
      platform.  It will be used on POSIX platforms as soon TCG stops using
      signals to interrupt the execution of translated code.

      Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
      Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>

  commit 5039d6e23586fe6bbedc5e4fe302b48a66890ade
  Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
  Date:   Mon Feb 16 14:13:11 2015 +0100

      i8257: remove cpu_request_exit irq

      This is unused.  cpu_exit now is almost exclusively an internal function
      to the CPU execution loop.  In a few patches, we'll change the remaining
      occurrences to qemu_cpu_kick, making it truly internal.

      Reviewed-by: Richard henderson <rth@xxxxxxxxxxx>
      Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>

  commit 19d2b5e6ff7202c2bf45c547efa85ae6c2d76bbd
  Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
  Date:   Mon Feb 16 14:08:22 2015 +0100

      i8257: rewrite DMA_schedule to avoid hooking into the CPU loop

      The i8257 DMA controller uses an idle bottom half, which by default
      does not cause the main loop to exit.  Therefore, the DMA_schedule
      function is there to ensure that the CPU relinquishes the iothread
      mutex to the iothread.

      However, this is not enough since the iothread will call
      aio_compute_timeout() and go to sleep again.  In the iothread
      world, forcing execution of the idle bottom half is much simpler,
      and only requires a call to qemu_notify_event().  Do it, removing
      the need for the "cpu_request_exit" pseudo-irq.  The next patch
      will remove it.

      Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
      Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>

  commit 5f5b5942d56a138baad0ae01458d5d0e62d5be68
  Author: Andrey Smetanin <asmetanin@xxxxxxxxxxxxx>
  Date:   Fri Jul 3 15:01:42 2015 +0300

      Added generic panic handler qemu_system_guest_panicked()

      There are pieces of guest panic handling code
      that can be shared in one generic function.
      These code replaced by call qemu_system_guest_panicked().

      Signed-off-by: Andrey Smetanin <asmetanin@xxxxxxxxxxxxx>
      Signed-off-by: Denis V. Lunev <den@xxxxxxxxxx>
      CC: Paolo Bonzini <pbonzini@xxxxxxxxxx>
      CC: Andreas F�¤rber <afaerber@xxxxxxx>
      Message-Id: <1435924905-8926-10-git-send-email-den@xxxxxxxxxx>
      Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>

  commit 6d1f252d8c1ba73bf6ed9af28731a9c9c3d473a2
  Author: Peter Lieven <pl@xxxxxxx>
  Date:   Fri Aug 14 13:33:36 2015 +0200

      block/iscsi: validate block size returned from target

      It has been reported that at least tgtd returns a block size of 0
      for LUN 0. To avoid running into divide by zero later on and protect
      against other problematic block sizes validate the block size right
      at connection time.

      Cc: qemu-stable@xxxxxxxxxx
      Reported-by: Andrey Korolyov <andrey@xxxxxxx>
      Signed-off-by: Peter Lieven <pl@xxxxxxx>
      Message-Id: <1439552016-8557-1-git-send-email-pl@xxxxxxx>
      Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>

  commit f3926945c85689e8af324c0db0b39be771dbbebb
  Author: Fam Zheng <famz@xxxxxxxxxx>
  Date:   Mon Sep 7 11:28:58 2015 +0800

      iohandler: Use aio API

      iohandler.c shares the same interface with aio, but with duplicated
      code. It's better to rebase iohandler, also because that aio is a
      more friendly interface to multi-threads.

      Create a global AioContext instance and let its GSource handle the
      iohandler events.

      Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
      Message-Id: <1441596538-4412-1-git-send-email-famz@xxxxxxxxxx>
      Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>

  commit 46036b2462c7ff56c0af6466ea6b9248197a38a8
  Author: Aníbal Limón <anibal.limon@xxxxxxxxxxxxxxx>
  Date:   Thu Sep 3 15:48:33 2015 -0500

      cpus.c: qemu_mutex_lock_iothread fix race condition at cpu thread init

      When QEMU starts the RCU thread executes qemu_mutex_lock_thread
      causing error "qemu:qemu_cpu_kick_thread: No such process" and exits.

      This isn't occur frequently but in glibc the thread id can exist and
      this not guarantee that the thread is on active/running state. If is
      inserted a sleep(1) after newthread assignment [1] the issue appears.

      So not make assumption that thread exist if first_cpu->thread is set
      then change the validation of cpu to created that is set into cpu
      threads (kvm, tcg, dummy).

      [1] 
https://sourceware.org/git/?p=glibc.git;a=blob;f=nptl/pthread_create.c;h=d10f4ea8004e1d8f3a268b95cc0f8d93b8d89867;hb=HEAD#l621

      Cc: qemu-stable@xxxxxxxxxx
      Signed-off-by: Aníbal Limón <anibal.limon@xxxxxxxxxxxxxxx>
      Message-Id: 
<1441313313-3040-1-git-send-email-anibal.limon@xxxxxxxxxxxxxxx>
      Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>

  commit d12f7309483e20d1bae9304f4b812bf53a8e6510
  Author: Emilio G. Cota <cota@xxxxxxxxx>
  Date:   Sun Aug 23 20:23:36 2015 -0400

      seqlock: read sequence number atomically

      With this change we make sure that the compiler will not
      optimise the read of the sequence number in any way.

      Signed-off-by: Emilio G. Cota <cota@xxxxxxxxx>
      Message-Id: <1440375847-17603-8-git-send-email-cota@xxxxxxxxx>
      Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>

  commit 123fdbac9b8f1e394fbe92e8b5359193e94ba5bf
  Author: Emilio G. Cota <cota@xxxxxxxxx>
  Date:   Sun Aug 23 20:23:35 2015 -0400

      seqlock: add missing 'inline' to seqlock_read_retry

      Signed-off-by: Emilio G. Cota <cota@xxxxxxxxx>
      Message-Id: <1440375847-17603-7-git-send-email-cota@xxxxxxxxx>
      Reviewed-by: Alex Bennée <alex.bennee@xxxxxxxxxx>
      Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>

  commit 16ef9d0252318d7e32e445fd7474af55dbaab7db
  Author: Emilio G. Cota <cota@xxxxxxxxx>
  Date:   Sun Aug 23 20:23:40 2015 -0400

      qemu-thread: handle spurious futex_wait wakeups

      Signed-off-by: Emilio G. Cota <cota@xxxxxxxxx>
      Message-Id: <1440375847-17603-12-git-send-email-cota@xxxxxxxxx>
      Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>

Revision graph left in 
/home/logs/results/bisect/qemu-mainline/test-amd64-amd64-xl-pvh-amd.xen-boot.{dot,ps,png,html}.
----------------------------------------
62182: tolerable ALL FAIL

flight 62182 qemu-mainline real-bisect [real]
http://logs.test-lab.xenproject.org/osstest/logs/62182/

Failures :-/ but no regressions.

Tests which did not succeed,
including tests which could not be run:
 test-amd64-amd64-xl-pvh-amd   6 xen-boot                fail baseline untested


jobs:
 test-amd64-amd64-xl-pvh-amd                                  fail


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.