On 21/08/2024 11:27 pm, Yongqiang Liu wrote:
The fixed size temporary variables vmcb_control_area and vmcb_save_area
allocated in svm_set_nested_state() are released when the function exits.
Meanwhile, svm_set_nested_state() also have vcpu mutex held to avoid
massive concurrency allocation, so we don't need to set GFP_KERNEL_ACCOUNT.
Hi Sean/Paolo,
Seems more patches are popping up regarding to whether to use _ACCOUNT
for temporary memory allocation. Could we have a definitive guide on this?
As you know, one similar patch was merged and now is in upstream:
dd103407ca315 ("KVM: X86: Remove unnecessary GFP_KERNEL_ACCOUNT for
temporary variables")
Also see:
https://lore.kernel.org/kvm/20240715101224.90958-1-kai.huang@xxxxxxxxx/T/
Signed-off-by: Yongqiang Liu <liuyongqiang13@xxxxxxxxxx>
---
arch/x86/kvm/svm/nested.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/arch/x86/kvm/svm/nested.c b/arch/x86/kvm/svm/nested.c
index 6f704c1037e5..d5314cb7dff4 100644
--- a/arch/x86/kvm/svm/nested.c
+++ b/arch/x86/kvm/svm/nested.c
@@ -1693,8 +1693,8 @@ static int svm_set_nested_state(struct kvm_vcpu *vcpu,
return -EINVAL;
ret = -ENOMEM;
- ctl = kzalloc(sizeof(*ctl), GFP_KERNEL_ACCOUNT);
- save = kzalloc(sizeof(*save), GFP_KERNEL_ACCOUNT);
+ ctl = kzalloc(sizeof(*ctl), GFP_KERNEL);
+ save = kzalloc(sizeof(*save), GFP_KERNEL);
if (!ctl || !save)
goto out_free;