On Tue, Oct 19, 2021 at 10:19:57AM +0200, Jan Beulich wrote: > 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.
Oh, I see. We would need to be careful if that domain crash is ever removed. Thanks, Roger.