All of lore.kernel.org
 help / color / mirror / Atom feed
From: Richard Henderson <richard.henderson@linaro.org>
To: "Emilio G. Cota" <cota@braap.org>, qemu-devel@nongnu.org
Cc: "Alex Bennée" <alex.bennee@linaro.org>,
	"Aleksandar Markovic" <amarkovic@wavecomp.com>,
	"Alistair Francis" <alistair23@gmail.com>,
	"Andrzej Zaborowski" <balrogg@gmail.com>,
	"Anthony Green" <green@moxielogic.com>,
	"Artyom Tarasenko" <atar4qemu@gmail.com>,
	"Aurelien Jarno" <aurelien@aurel32.net>,
	"Bastian Koppelmann" <kbastian@mail.uni-paderborn.de>,
	"Christian Borntraeger" <borntraeger@de.ibm.com>,
	"Chris Wulff" <crwulff@gmail.com>,
	"Cornelia Huck" <cohuck@redhat.com>,
	"David Gibson" <david@gibson.dropbear.id.au>,
	"David Hildenbrand" <david@redhat.com>,
	"Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
	"Eduardo Habkost" <ehabkost@redhat.com>,
	"Fabien Chouteau" <chouteau@adacore.com>,
	"Guan Xuetao" <gxt@mprc.pku.edu.cn>,
	"James Hogan" <jhogan@kernel.org>,
	"Laurent Vivier" <laurent@vivier.eu>,
	"Marek Vasut" <marex@denx.de>,
	"Mark Cave-Ayland" <mark.cave-ayland@ilande.co.uk>,
	"Max Filippov" <jcmvbkbc@gmail.com>,
	"Michael Walle" <michael@walle.cc>,
	"Palmer Dabbelt" <palmer@sifive.com>,
	"Paolo Bonzini" <pbonzini@redhat.com>,
	"Peter Maydell" <peter.maydell@linaro.org>,
	qemu-arm@nongnu.org, qemu-ppc@nongnu.org, qemu-s390x@nongnu.org,
	"Sagar Karandikar" <sagark@eecs.berkeley.edu>,
	"Stafford Horne" <shorne@gmail.com>
Subject: Re: [Qemu-devel] [PATCH v7 00/73] per-CPU locks
Date: Wed, 6 Mar 2019 11:40:57 -0800	[thread overview]
Message-ID: <2adf8423-458d-27c3-67bf-d4775104ad43@linaro.org> (raw)
In-Reply-To: <20190304181813.8075-1-cota@braap.org>

On 3/4/19 10:17 AM, Emilio G. Cota wrote:
> v6: https://lists.gnu.org/archive/html/qemu-devel/2019-01/msg07650.html
> 
> All patches in the series have reviews now. Thanks everyone!
> 
> I've tested all patches with `make check-qtest -j' for all targets.
> The series is checkpatch-clean (just some warnings about __COVERITY__).
> 
> You can fetch the series from:
>   https://github.com/cota/qemu/tree/cpu-lock-v7

Having fixed the OSX build errors, Peter reported to me a hang on the x86_64
bios-tables-test with an arm32 host.  I have been able to replicate this.


(gdb) info thr
  Id   Target Id                                       Frame
  1    Thread 0xb35a72e0 (LWP 10966) "qemu-system-x86" 0xb606d138 in
pthread_cond_wait@@GLIBC_2.4 () from /usr/lib/libpthread.so.0
  2    Thread 0xb35a3d30 (LWP 10967) "qemu-system-x86" 0xb5fe70fc in syscall ()
   from /usr/lib/libc.so.6
  3    Thread 0xa07fed30 (LWP 10968) "qemu-system-x86" 0xb5fe0688 in poll ()
   from /usr/lib/libc.so.6
* 4    Thread 0x9fdfed30 (LWP 10969) "qemu-system-x86" 0xb606d138 in
pthread_cond_wait@@GLIBC_2.4 () from /usr/lib/libpthread.so.0

(gdb) thr 1
[Switching to thread 1 (Thread 0xb35a72e0 (LWP 10966))]
#0  0xb606d138 in pthread_cond_wait@@GLIBC_2.4 () from /usr/lib/libpthread.so.0
(gdb) where
#0  0xb606d138 in pthread_cond_wait@@GLIBC_2.4 () from /usr/lib/libpthread.so.0
#1  0x009a66a4 in qemu_cond_wait_impl (cond=cond@entry=0x16727b0,
    mutex=0xcad4c8 <qemu_global_mutex>,
    file=file@entry=0xa057f0 "/home/rth/qemu/qemu/cpus-common.c",
    line=line@entry=166) at /home/rth/qemu/qemu/util/qemu-thread-posix.c:161
#2  0x00692378 in run_on_cpu (cpu=cpu@entry=0x16725a8, func=<optimized out>,
    data=...) at /home/rth/qemu/qemu/cpus-common.c:166
#3  0x00604c18 in vapic_enable_tpr_reporting (enable=<optimized out>)
    at /home/rth/qemu/qemu/hw/i386/kvmvapic.c:507
#4  0x00710160 in qdev_reset_one (dev=<optimized out>, opaque=<optimized out>)
    at /home/rth/qemu/qemu/hw/core/qdev.c:250

(gdb) thr 4
[Switching to thread 4 (Thread 0x9fdfed30 (LWP 10969))]
#0  0xb606d138 in pthread_cond_wait@@GLIBC_2.4 () from /usr/lib/libpthread.so.0
(gdb) where
#0  0xb606d138 in pthread_cond_wait@@GLIBC_2.4 () from /usr/lib/libpthread.so.0
#1  0x009a66a4 in qemu_cond_wait_impl (cond=0x1692ed8,
    mutex=0xcad4c8 <qemu_global_mutex>,
    file=file@entry=0x9d0108 "/home/rth/qemu/qemu/cpus.c",
    line=line@entry=1647) at /home/rth/qemu/qemu/util/qemu-thread-posix.c:161
#2  0x00553070 in qemu_tcg_rr_cpu_thread_fn (arg=<optimized out>)
    at /home/rth/qemu/qemu/cpus.c:1647
#3  0x009a5f20 in qemu_thread_start (args=<optimized out>)
    at /home/rth/qemu/qemu/util/qemu-thread-posix.c:502


I had hoped that I would have been able to reproduce this on another host by
forcing rr mode.  But so far no luck.

Thoughts?


r~

  parent reply	other threads:[~2019-03-06 19:41 UTC|newest]

Thread overview: 78+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-03-04 18:17 [Qemu-devel] [PATCH v7 00/73] per-CPU locks Emilio G. Cota
2019-03-04 18:17 ` [Qemu-devel] [PATCH v7 01/73] cpu: convert queued work to a QSIMPLEQ Emilio G. Cota
2019-03-04 18:17 ` [Qemu-devel] [PATCH v7 02/73] cpu: rename cpu->work_mutex to cpu->lock Emilio G. Cota
2019-03-04 18:17 ` [Qemu-devel] [PATCH v7 03/73] cpu: introduce cpu_mutex_lock/unlock Emilio G. Cota
2019-03-04 18:17 ` [Qemu-devel] [PATCH v7 04/73] cpu: make qemu_work_cond per-cpu Emilio G. Cota
2019-03-04 18:17 ` [Qemu-devel] [PATCH v7 05/73] cpu: move run_on_cpu to cpus-common Emilio G. Cota
2019-03-04 18:17 ` [Qemu-devel] [PATCH v7 06/73] cpu: introduce process_queued_cpu_work_locked Emilio G. Cota
2019-03-04 18:17 ` [Qemu-devel] [PATCH v7 07/73] cpu: make per-CPU locks an alias of the BQL in TCG rr mode Emilio G. Cota
2019-03-04 18:17 ` [Qemu-devel] [PATCH v7 08/73] tcg-runtime: define helper_cpu_halted_set Emilio G. Cota
2019-03-04 18:17 ` [Qemu-devel] [PATCH v7 09/73] ppc: convert to helper_cpu_halted_set Emilio G. Cota
2019-03-04 18:17 ` [Qemu-devel] [PATCH v7 10/73] cris: " Emilio G. Cota
2019-03-04 18:17 ` [Qemu-devel] [PATCH v7 11/73] hppa: " Emilio G. Cota
2019-03-04 18:17 ` [Qemu-devel] [PATCH v7 12/73] m68k: " Emilio G. Cota
2019-03-04 18:17 ` [Qemu-devel] [PATCH v7 13/73] alpha: " Emilio G. Cota
2019-03-04 18:17 ` [Qemu-devel] [PATCH v7 14/73] microblaze: " Emilio G. Cota
2019-03-04 18:17 ` [Qemu-devel] [PATCH v7 15/73] cpu: define cpu_halted helpers Emilio G. Cota
2019-03-04 18:17 ` [Qemu-devel] [PATCH v7 16/73] tcg-runtime: convert to cpu_halted_set Emilio G. Cota
2019-03-04 18:17 ` [Qemu-devel] [PATCH v7 17/73] arm: convert to cpu_halted Emilio G. Cota
2019-03-04 18:17 ` [Qemu-devel] [PATCH v7 18/73] ppc: " Emilio G. Cota
2019-03-04 18:17 ` [Qemu-devel] [PATCH v7 19/73] sh4: " Emilio G. Cota
2019-03-04 18:17 ` [Qemu-devel] [PATCH v7 20/73] i386: " Emilio G. Cota
2019-03-04 18:17 ` [Qemu-devel] [PATCH v7 21/73] lm32: " Emilio G. Cota
2019-03-04 18:17 ` [Qemu-devel] [PATCH v7 22/73] m68k: " Emilio G. Cota
2019-03-04 18:17 ` [Qemu-devel] [PATCH v7 23/73] mips: " Emilio G. Cota
2019-03-04 18:17 ` [Qemu-devel] [PATCH v7 24/73] riscv: " Emilio G. Cota
2019-03-04 18:17 ` [Qemu-devel] [PATCH v7 25/73] s390x: " Emilio G. Cota
2019-03-04 18:17 ` [Qemu-devel] [PATCH v7 26/73] sparc: " Emilio G. Cota
2019-03-04 18:17 ` [Qemu-devel] [PATCH v7 27/73] xtensa: " Emilio G. Cota
2019-03-04 18:17 ` [Qemu-devel] [PATCH v7 28/73] gdbstub: " Emilio G. Cota
2019-03-04 18:17 ` [Qemu-devel] [PATCH v7 29/73] openrisc: " Emilio G. Cota
2019-03-04 18:17 ` [Qemu-devel] [PATCH v7 30/73] cpu-exec: " Emilio G. Cota
2019-03-04 18:17 ` [Qemu-devel] [PATCH v7 31/73] cpu: " Emilio G. Cota
2019-03-04 18:17 ` [Qemu-devel] [PATCH v7 32/73] cpu: define cpu_interrupt_request helpers Emilio G. Cota
2019-03-04 18:17 ` [Qemu-devel] [PATCH v7 33/73] ppc: use cpu_reset_interrupt Emilio G. Cota
2019-03-04 18:17 ` [Qemu-devel] [PATCH v7 34/73] exec: " Emilio G. Cota
2019-03-04 18:17 ` [Qemu-devel] [PATCH v7 35/73] i386: " Emilio G. Cota
2019-03-04 18:17 ` [Qemu-devel] [PATCH v7 36/73] s390x: " Emilio G. Cota
2019-03-04 18:17 ` [Qemu-devel] [PATCH v7 37/73] openrisc: " Emilio G. Cota
2019-03-04 18:17 ` [Qemu-devel] [PATCH v7 38/73] arm: convert to cpu_interrupt_request Emilio G. Cota
2019-03-04 18:17 ` [Qemu-devel] [PATCH v7 39/73] i386: " Emilio G. Cota
2019-03-04 18:17 ` [Qemu-devel] [PATCH v7 40/73] i386/kvm: " Emilio G. Cota
2019-03-04 18:17 ` [Qemu-devel] [PATCH v7 41/73] i386/hax-all: " Emilio G. Cota
2019-03-04 18:17 ` [Qemu-devel] [PATCH v7 42/73] i386/whpx-all: " Emilio G. Cota
2019-03-04 18:17 ` [Qemu-devel] [PATCH v7 43/73] i386/hvf: convert to cpu_request_interrupt Emilio G. Cota
2019-03-04 18:17 ` [Qemu-devel] [PATCH v7 44/73] ppc: convert to cpu_interrupt_request Emilio G. Cota
2019-03-04 18:17 ` [Qemu-devel] [PATCH v7 45/73] sh4: " Emilio G. Cota
2019-03-04 18:17 ` [Qemu-devel] [PATCH v7 46/73] cris: " Emilio G. Cota
2019-03-04 18:17 ` [Qemu-devel] [PATCH v7 47/73] hppa: " Emilio G. Cota
2019-03-04 18:17 ` [Qemu-devel] [PATCH v7 48/73] lm32: " Emilio G. Cota
2019-03-04 18:17 ` [Qemu-devel] [PATCH v7 49/73] m68k: " Emilio G. Cota
2019-03-04 18:17 ` [Qemu-devel] [PATCH v7 50/73] mips: " Emilio G. Cota
2019-03-04 18:17 ` [Qemu-devel] [PATCH v7 51/73] nios: " Emilio G. Cota
2019-03-04 18:17 ` [Qemu-devel] [PATCH v7 52/73] s390x: " Emilio G. Cota
2019-03-04 18:17 ` [Qemu-devel] [PATCH v7 53/73] alpha: " Emilio G. Cota
2019-03-04 18:17 ` [Qemu-devel] [PATCH v7 54/73] moxie: " Emilio G. Cota
2019-03-04 18:17 ` [Qemu-devel] [PATCH v7 55/73] sparc: " Emilio G. Cota
2019-03-04 18:17 ` [Qemu-devel] [PATCH v7 56/73] openrisc: " Emilio G. Cota
2019-03-04 18:17 ` [Qemu-devel] [PATCH v7 57/73] unicore32: " Emilio G. Cota
2019-03-04 18:17 ` [Qemu-devel] [PATCH v7 58/73] microblaze: " Emilio G. Cota
2019-03-04 18:17 ` [Qemu-devel] [PATCH v7 59/73] accel/tcg: " Emilio G. Cota
2019-03-04 18:18 ` [Qemu-devel] [PATCH v7 60/73] cpu: convert to interrupt_request Emilio G. Cota
2019-03-04 18:18 ` [Qemu-devel] [PATCH v7 61/73] cpu: call .cpu_has_work with the CPU lock held Emilio G. Cota
2019-03-04 18:18 ` [Qemu-devel] [PATCH v7 62/73] cpu: introduce cpu_has_work_with_iothread_lock Emilio G. Cota
2019-03-04 18:18 ` [Qemu-devel] [PATCH v7 63/73] ppc: convert to cpu_has_work_with_iothread_lock Emilio G. Cota
2019-03-04 18:18 ` [Qemu-devel] [PATCH v7 64/73] mips: " Emilio G. Cota
2019-03-04 18:18 ` [Qemu-devel] [PATCH v7 65/73] s390x: " Emilio G. Cota
2019-03-04 18:18 ` [Qemu-devel] [PATCH v7 66/73] riscv: " Emilio G. Cota
2019-03-04 18:18 ` [Qemu-devel] [PATCH v7 67/73] sparc: " Emilio G. Cota
2019-03-04 18:18 ` [Qemu-devel] [PATCH v7 68/73] xtensa: " Emilio G. Cota
2019-03-04 18:18 ` [Qemu-devel] [PATCH v7 69/73] cpu: rename all_cpu_threads_idle to qemu_tcg_rr_all_cpu_threads_idle Emilio G. Cota
2019-03-04 18:18 ` [Qemu-devel] [PATCH v7 70/73] cpu: protect CPU state with cpu->lock instead of the BQL Emilio G. Cota
2019-03-04 18:18 ` [Qemu-devel] [PATCH v7 71/73] cpus-common: release BQL earlier in run_on_cpu Emilio G. Cota
2019-03-04 18:18 ` [Qemu-devel] [PATCH v7 72/73] cpu: add async_run_on_cpu_no_bql Emilio G. Cota
2019-03-04 18:18 ` [Qemu-devel] [PATCH v7 73/73] cputlb: queue async flush jobs without the BQL Emilio G. Cota
2019-03-05  9:16 ` [Qemu-devel] [PATCH v7 00/73] per-CPU locks Alex Bennée
2019-03-06 19:40 ` Richard Henderson [this message]
2019-03-06 19:57   ` Peter Maydell
2019-03-06 23:49   ` Emilio G. Cota

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=2adf8423-458d-27c3-67bf-d4775104ad43@linaro.org \
    --to=richard.henderson@linaro.org \
    --cc=alex.bennee@linaro.org \
    --cc=alistair23@gmail.com \
    --cc=amarkovic@wavecomp.com \
    --cc=atar4qemu@gmail.com \
    --cc=aurelien@aurel32.net \
    --cc=balrogg@gmail.com \
    --cc=borntraeger@de.ibm.com \
    --cc=chouteau@adacore.com \
    --cc=cohuck@redhat.com \
    --cc=cota@braap.org \
    --cc=crwulff@gmail.com \
    --cc=david@gibson.dropbear.id.au \
    --cc=david@redhat.com \
    --cc=edgar.iglesias@gmail.com \
    --cc=ehabkost@redhat.com \
    --cc=green@moxielogic.com \
    --cc=gxt@mprc.pku.edu.cn \
    --cc=jcmvbkbc@gmail.com \
    --cc=jhogan@kernel.org \
    --cc=kbastian@mail.uni-paderborn.de \
    --cc=laurent@vivier.eu \
    --cc=marex@denx.de \
    --cc=mark.cave-ayland@ilande.co.uk \
    --cc=michael@walle.cc \
    --cc=palmer@sifive.com \
    --cc=pbonzini@redhat.com \
    --cc=peter.maydell@linaro.org \
    --cc=qemu-arm@nongnu.org \
    --cc=qemu-devel@nongnu.org \
    --cc=qemu-ppc@nongnu.org \
    --cc=qemu-s390x@nongnu.org \
    --cc=sagark@eecs.berkeley.edu \
    --cc=shorne@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.