On Fri, Jul 23, 2021 at 03:34:35PM -0400, Peter Xu wrote: > This is v2 of the series. It was actually got forgotten for months until it > was used to identify another potential issue of bql usage here (besides it > could still be helpful when debugging a previous kvm dirty ring issue in that > series): > > https://lore.kernel.org/qemu-devel/ch0pr02mb7898bbd73d0f3f7d5003bb178b...@ch0pr02mb7898.namprd02.prod.outlook.com/ > > So I figured maybe it's still worth to have it, hence a repost. > > There're some changes against v1: > > - patch "cpus: Introduce qemu_cond_timedwait_iothread()" is dropped because > it's introduced in another commit already (b0c3cf9407e64). > > - two more patches to move do_run_on_cpu() into softmmu/ to fix a linux-user > compliation issue. > > Please review, thanks. > > === Original Cover letter === > > This is a continuous work of previous discussion on memory transactions [1]. > It should be helpful to fail QEMU far earlier if there's misuse of BQL against > the QEMU memory model. > > One example is run_on_cpu() during memory commit. That'll work previously, > but > it'll fail with very strange errors (like KVM ioctl failure due to memslot > already existed, and it's not guaranteed to trigger constantly). Now it'll > directly fail when run_on_cpu() is called. > > Please have a look, thanks. > > [1] https://lists.gnu.org/archive/html/qemu-devel/2020-04/msg03205.html
CC Phil too. -- Peter Xu