On 19.10.2021 10:17, Jan Beulich wrote: > On 19.10.2021 10:09, Roger Pau Monné wrote: >> On Mon, Oct 11, 2021 at 10:17:08AM +0200, Jan Beulich wrote: >>> @@ -1229,8 +1242,9 @@ p2m_pod_demand_populate(struct p2m_domai >>> __trace_var(TRC_MEM_POD_POPULATE, 0, sizeof(t), &t); >>> } >>> >>> - pod_unlock(p2m); >>> + pod_unlock_and_flush(p2m); >>> return true; >>> + >>> out_of_memory: >>> pod_unlock(p2m); >> >> Don't you need to set defer_nested_flush = false in the out_of_memory >> label? (as you don't call pod_unlock_and_flush that would do it) > > Yes of course - thanks for spotting. I had pod_unlock_and_flush() here > too initially, and when switching back I forgot to convert rather than > just delete that.
Oh, wait, that was on purpose: There's no point clearing the flag when the next thing we do is invoke domain_crash(). If it wasn't that way, I don't think I could avoid using pod_unlock_and_flush() here as well. Jan