[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH] x86/PoD: defer nested P2M flushes
- To: Roger Pau Monné <roger.pau@xxxxxxxxxx>
- From: Jan Beulich <jbeulich@xxxxxxxx>
- Date: Tue, 19 Oct 2021 10:19:57 +0200
- Arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com; dkim=pass header.d=suse.com; arc=none
- Arc-message-signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=baP6DYa68zhFQLDQE0GpQyqWX9/SJ38GAe8So7JQDY4=; b=F/VtC9kukHhaSrcXpObCq8prBsNYQbOgk+XfkCJbIE1A7sN77GlNdR9HbUmiqNKrlPr7GyRwJmvy8uvep3mR3OaCzhJ5SmuRZNzMZgacR5cw+7XXonD8bKEwyUJXc088dG2phlL3Hi1pw/KQ4h5BdWzNCRUletONBawYKd6zVXNBrgc/ykOJjwKIrtyNQo2rq4Di7m9Mz8Viob/QhhNExO37zMQ7a5O6xFNyYDj8akTprNC6rxpXCbDsyTLOyrgBP4yArGLJj1pJA53hUtdmqx/+lGOU7q0KDWYcngoMtDLhwwyhJqw5AgjjSrwym+C7w2EPiCqInLffVjDD+gE0Jg==
- Arc-seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=E6i/2BC0MKz8Md4XeO0Um0t9hP7iTzkH5HGhHkf6zF32N6yfi9ReKl3itKkBcG7xDvEG9enAA2CLUvthpiPS6vlkOi3XY0XNRz5Id6buTF5976JuKf3Z+beGE8WvGIo9CFAPvB76wdMcRX8bJNEw06MAsQw+rqEdffkS26mBlqr6abCoea3w5ikfCVAHAE/KvS98kpA1USlrwwMBELXPa35v5RaQueUzu77OvRByby9FnIJWJVs2kjESmesfplU0uVFaQsWP8YfmBsnH2ZShTKar7go7gleNEqP/XlLywy/oxub6MIOsikRkwvKtWy8FpaasCAVTL5PGN51TM+uT7Q==
- Authentication-results: citrix.com; dkim=none (message not signed) header.d=none;citrix.com; dmarc=none action=none header.from=suse.com;
- Cc: "xen-devel@xxxxxxxxxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxxxxxxxxx>, Andrew Cooper <andrew.cooper3@xxxxxxxxxx>, George Dunlap <george.dunlap@xxxxxxxxxx>
- Delivery-date: Tue, 19 Oct 2021 08:20:05 +0000
- List-id: Xen developer discussion <xen-devel.lists.xenproject.org>
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
|