All of lore.kernel.org
 help / color / mirror / Atom feed
From: David Matlack <dmatlack@google.com>
To: Ben Gardon <bgardon@google.com>
Cc: linux-kernel@vger.kernel.org, kvm@vger.kernel.org,
	Paolo Bonzini <pbonzini@redhat.com>, Peter Xu <peterx@redhat.com>,
	Sean Christopherson <seanjc@google.com>,
	Vipin Sharma <vipinsh@google.com>
Subject: Re: [PATCH 0/7] KVM: x86/MMU: Factor rmap operations out of mmu.c
Date: Fri, 9 Dec 2022 15:14:32 -0800	[thread overview]
Message-ID: <Y5PBWLEXXMjcyKTS@google.com> (raw)
In-Reply-To: <20221206173601.549281-1-bgardon@google.com>

On Tue, Dec 06, 2022 at 05:35:54PM +0000, Ben Gardon wrote:
> Move the basic operations for manipulating an rmap out of mmu.c, into
> their own files.

memslot_rmap_alloc() and memslot_rmap_free() from x86.c look like good
candidates to move to rmap.c as well as they are pure setup/teardown.

> 
> This is the first step in a series of series to split the Shadow MMU out of
> mmu.c. Splitting the shadow MMU out results in about a 50% reduction in line
> count of mmu.c, from ~7K to ~3.5K. The rmap operations only represent about
> 10% of the Shadow MMU but are split out first becase the are relatively
> self-contained.
> 
> This split may also help facilitate the addition of kUnit tests for rmap
> manipulation, especially the fiddly bit flag which diferentiates a direct
> pointer from a pte_list_desc.
> 
> This effort is complimentary to David Matlack's proposal to refactor
> the TDP MMU into an arch-neutral implementation because it further
> clarifies the distinction between the Shadow MMU and TDP MMU within x86.
> 
> This series contains no functional changes. It's just a direct movement
> of code from one file to another.
> 
> Whether this rmap code should stay in its own file or get merged with
> the rest of the shadow MMU code as it is factored out is open for
> debate.
> 
> Ben Gardon (7):
>   KVM: x86/MMU: Move pte_list operations to rmap.c
>   KVM: x86/MMU: Move rmap_iterator to rmap.h
>   KVM: x86/MMU: Move gfn_to_rmap() to rmap.c
>   KVM: x86/MMU: Move rmap_can_add() and rmap_remove() to rmap.c
>   KVM: x86/MMU: Move the rmap walk iterator out of mmu.c
>   KVM: x86/MMU: Move rmap zap operations to rmap.c
>   KVM: x86/MMU: Move rmap_add() to rmap.c
> 
>  arch/x86/kvm/Makefile           |   2 +-
>  arch/x86/kvm/debugfs.c          |   1 +
>  arch/x86/kvm/mmu/mmu.c          | 438 +-------------------------------
>  arch/x86/kvm/mmu/mmu_internal.h |   9 +-
>  arch/x86/kvm/mmu/rmap.c         | 368 +++++++++++++++++++++++++++
>  arch/x86/kvm/mmu/rmap.h         | 106 ++++++++
>  6 files changed, 492 insertions(+), 432 deletions(-)
>  create mode 100644 arch/x86/kvm/mmu/rmap.c
>  create mode 100644 arch/x86/kvm/mmu/rmap.h
> 
> -- 
> 2.39.0.rc0.267.gcb52ba06e7-goog
> 

      parent reply	other threads:[~2022-12-09 23:14 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-12-06 17:35 [PATCH 0/7] KVM: x86/MMU: Factor rmap operations out of mmu.c Ben Gardon
2022-12-06 17:35 ` [PATCH 1/7] KVM: x86/MMU: Move pte_list operations to rmap.c Ben Gardon
2022-12-06 22:00   ` kernel test robot
2022-12-07 22:58   ` Vipin Sharma
2022-12-14  0:11     ` Ben Gardon
2022-12-09 22:22   ` David Matlack
2022-12-14  0:07     ` Ben Gardon
2022-12-28  7:37   ` kernel test robot
2022-12-06 17:35 ` [PATCH 2/7] KVM: x86/MMU: Move rmap_iterator to rmap.h Ben Gardon
2022-12-09 23:04   ` David Matlack
2022-12-14  0:12     ` Ben Gardon
2022-12-14  0:59       ` Sean Christopherson
2022-12-14 17:53         ` Ben Gardon
2022-12-15  0:34           ` Sean Christopherson
2022-12-06 17:35 ` [PATCH 3/7] KVM: x86/MMU: Move gfn_to_rmap() to rmap.c Ben Gardon
2022-12-09 23:32   ` David Matlack
2022-12-06 17:35 ` [PATCH 4/7] KVM: x86/MMU: Move rmap_can_add() and rmap_remove() " Ben Gardon
2022-12-06 17:35 ` [PATCH 5/7] KVM: x86/MMU: Move the rmap walk iterator out of mmu.c Ben Gardon
2022-12-06 17:36 ` [PATCH 6/7] KVM: x86/MMU: Move rmap zap operations to rmap.c Ben Gardon
2022-12-09 22:44   ` David Matlack
2022-12-06 17:36 ` [PATCH 7/7] KVM: x86/MMU: Move rmap_add() " Ben Gardon
2022-12-09 23:27   ` David Matlack
2022-12-09 23:14 ` David Matlack [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=Y5PBWLEXXMjcyKTS@google.com \
    --to=dmatlack@google.com \
    --cc=bgardon@google.com \
    --cc=kvm@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=pbonzini@redhat.com \
    --cc=peterx@redhat.com \
    --cc=seanjc@google.com \
    --cc=vipinsh@google.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.