qemu-devel
[Top][All Lists]
Advanced

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

Re: [PATCH v2 0/9] memory: Sanity checks memory transaction when releasi


From: David Hildenbrand
Subject: Re: [PATCH v2 0/9] memory: Sanity checks memory transaction when releasing BQL
Date: Tue, 27 Jul 2021 14:41:17 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.11.0

On 23.07.21 21:34, 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):

CH0PR02MB7898BBD73D0F3F7D5003BB178BE19@CH0PR02MB7898.namprd02.prod.outlook.com/">https://lore.kernel.org/qemu-devel/CH0PR02MB7898BBD73D0F3F7D5003BB178BE19@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.


Functions that silently drop the BQL are really nasty. I once fall into a similar trap calling pause_all_vcpus() from within memory_region_transaction_begin(), while resizing RAM blocks.


--
Thanks,

David / dhildenb




reply via email to

[Prev in Thread] Current Thread [Next in Thread]