Received: by 2002:a05:6a10:22f:0:0:0:0 with SMTP id 15csp3585098pxk; Mon, 21 Sep 2020 18:50:53 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzK6U9r8URWWdsJDHDBWs4Vc3HvSc3h+gQbFcgCr2sfa36MR/QDWj7DnU1o/pPu8LI1Jpd3 X-Received: by 2002:a17:906:3e4e:: with SMTP id t14mr2350707eji.269.1600739452882; Mon, 21 Sep 2020 18:50:52 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1600739452; cv=none; d=google.com; s=arc-20160816; b=Ov+Rujcpq97q1qJlPkNSBivWBrxQ+qrqnS4bIKHpxMEPkzc76P62BmvavuhOvi9ByB pL5F7sQ/i8Yj+APLjJuUhnox9PfHV5K0eHXOGBtn4Yo7kGzCttSNOIF/DH5mUfEsaORI Hjn0VUzF11bVSfc/oDf+7re8US1rOhrqnFg5s1LDE/UWQOAhN82/yHqZD/5A4BzX6Psp bXJHColq9R5rSqTyZuJEFDIF6AG5rdzzkZgQxc+KdcYlCuf0zpJqDC2VOcJfg8nPMhi3 mZaeFO6znQOfkZVEmyCcFSPrAbXOAu6xBVtZ7Rmw131HBZ1iFnKBRich4VNVYeopBHB6 DzwA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:from:subject:mime-version:message-id:date :sender:dkim-signature; bh=V3Xr2zBCrWRdkK+k7x0nVhZayUYo5UZWzWiSfnS90fI=; b=thCuQrVeH7oSXBiVY1aUyrphS+Dyp4kx7B+3LuGxiU1y3ZzbXyFxAHS4dYJtDYrdHD iR75Ue6xq02Zv4leVpm2HdsHgaTgZI+JeR4CUjrYWnyPSkF1xuuW0C49ety6UpzDIWQW yohocPw/rkHrTVLBf2RZiBw87CD6McnPzL+eT5HotUmJSaNfZ69jR15vw0BsxfBf5n89 ja6RBMr/6bJDY+y4anhy77cqqS1sjE3sFZKKiFAKZfkSD+I97DvoYRWJfXbq9hOcg+kJ BEHCmdMiFIRDlC8WS67JNne4GD42VGu+SKNKAaYRSa3xgLUSWMgQjQeIuAg3sm0oX613 Ej3g== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@google.com header.s=20161025 header.b=kdyVgyus; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id u10si9232716edo.419.2020.09.21.18.50.29; Mon, 21 Sep 2020 18:50:52 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@google.com header.s=20161025 header.b=kdyVgyus; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728951AbgIVAkp (ORCPT + 99 others); Mon, 21 Sep 2020 20:40:45 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:51114 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728911AbgIVAko (ORCPT ); Mon, 21 Sep 2020 20:40:44 -0400 Received: from mail-yb1-xb4a.google.com (mail-yb1-xb4a.google.com [IPv6:2607:f8b0:4864:20::b4a]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id B11E7C0613CF for ; Mon, 21 Sep 2020 17:40:44 -0700 (PDT) Received: by mail-yb1-xb4a.google.com with SMTP id z40so14534955ybi.3 for ; Mon, 21 Sep 2020 17:40:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=sender:date:message-id:mime-version:subject:from:to:cc; bh=V3Xr2zBCrWRdkK+k7x0nVhZayUYo5UZWzWiSfnS90fI=; b=kdyVgyusZNzoXrTJhguQAb+Mx6TJNWHRXlrjar7ZHpeVOaXSPFcnqpBVcrKSj7jdY/ Z9S2h73yYxQ9ye0LpN+CnHJtEkvDKrW9dX9pf4gz/5JYMJcccJoedfYoOR8AT6arrG/0 ux966VV/bda9j4D3905gY+7QxO5ycI5EIzvDsYywy96gVK8JhFGFJMy2GicwDum9X/7W 5AEWANjjafFjdR3tEOf/Btn3rFXzJXaLz1TU4p2opSJylwS9O8Y07YUPXzdI/9WSkVZ9 xceQndQbqE8aM4VfKijgA1/KGV6BKYHLXzO7PTdnAOW4uHnL0OrmfA8n9UcoRW9J8H5E Wt1A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:date:message-id:mime-version:subject:from :to:cc; bh=V3Xr2zBCrWRdkK+k7x0nVhZayUYo5UZWzWiSfnS90fI=; b=Wva9FwENv2A/DGIjuRW7KLotH/9Hp8EH1zcLG3DNkVkhsNnMfkuHp5c6BQkOTALV1n jg7vpoJvb+/fK7RNrXW5bPTR7xap6zWsNF1lQfMl9TjqAGUvWWTyXhq6Y9OFH3vbWpIr +gFc2n/PuimxWfD9zZ73ZS9tShoL23/ELuMY1+VrMYqlcngVezIGQ8FxDjjF3Bi4tgYP 4QS28tZGkSXeIC0uhdvOPtPGufEGfm14CIQruUxDkBoFDr3qQ9/Nn0vxyQHJKypjH0Mx bwZgOyYJ819AAFTJy35Ms+K+OODWB/kzFbAMNoYMru3WPgDYKnB93FheIajiBl+3hqry SsiQ== X-Gm-Message-State: AOAM533s8C9X6EAirlFwc36Zp2cifd4wxrQwS7tK4GmeKmxWo16XITvk 2PafQWYpLo5Qs87HnyAoM8GYa4gh9dZs Sender: "vipinsh via sendgmr" X-Received: from vipinsh.kir.corp.google.com ([2620:0:1008:10:1ea0:b8ff:fe75:b885]) (user=vipinsh job=sendgmr) by 2002:a25:900b:: with SMTP id s11mr3389263ybl.426.1600735243795; Mon, 21 Sep 2020 17:40:43 -0700 (PDT) Date: Mon, 21 Sep 2020 17:40:22 -0700 Message-Id: <20200922004024.3699923-1-vipinsh@google.com> Mime-Version: 1.0 X-Mailer: git-send-email 2.28.0.681.g6f77f65b4e-goog Subject: [RFC Patch 0/2] KVM: SVM: Cgroup support for SVM SEV ASIDs From: Vipin Sharma To: thomas.lendacky@amd.com, pbonzini@redhat.com, sean.j.christopherson@intel.com, tj@kernel.org, lizefan@huawei.com Cc: joro@8bytes.org, corbet@lwn.net, brijesh.singh@amd.com, jon.grimm@amd.com, eric.vantassell@amd.com, gingell@google.com, rientjes@google.com, kvm@vger.kernel.org, x86@kernel.org, cgroups@vger.kernel.org, linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org, Vipin Sharma Content-Type: text/plain; charset="UTF-8" Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hello, This patch series adds a new SEV controller for tracking and limiting the usage of SEV ASIDs on the AMD SVM platform. SEV ASIDs are used in creating encrypted VM and lightweight sandboxes but this resource is in very limited quantity on a host. This limited quantity creates issues like SEV ASID starvation and unoptimized scheduling in the cloud infrastructure. SEV controller provides SEV ASID tracking and resource control mechanisms. Patch 1 - Overview, motivation, and implementation details of the SEV controller. Patch 2 - Kernel documentation of the SEV controller for both cgroup v1 and v2. Thanks Vipin Sharma (2): KVM: SVM: Create SEV cgroup controller. KVM: SVM: SEV cgroup controller documentation Documentation/admin-guide/cgroup-v1/sev.rst | 94 +++++ Documentation/admin-guide/cgroup-v2.rst | 56 ++- arch/x86/kvm/Makefile | 1 + arch/x86/kvm/svm/sev.c | 16 +- arch/x86/kvm/svm/sev_cgroup.c | 414 ++++++++++++++++++++ arch/x86/kvm/svm/sev_cgroup.h | 40 ++ include/linux/cgroup_subsys.h | 3 + init/Kconfig | 14 + 8 files changed, 634 insertions(+), 4 deletions(-) create mode 100644 Documentation/admin-guide/cgroup-v1/sev.rst create mode 100644 arch/x86/kvm/svm/sev_cgroup.c create mode 100644 arch/x86/kvm/svm/sev_cgroup.h -- 2.28.0.681.g6f77f65b4e-goog