qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] [RFC v2 0/5] Dynamic TLB sizing


From: Emilio G. Cota
Subject: [Qemu-devel] [RFC v2 0/5] Dynamic TLB sizing
Date: Mon, 8 Oct 2018 19:27:51 -0400

v1: https://lists.gnu.org/archive/html/qemu-devel/2018-10/msg01146.html

Changes since v1:

- Add tlb_index and tlb_entry helpers from Richard

- Introduce sizeof_tlb() and tlb_n_entries()

- Extract tlb_mask as its own array in CPUArchState, as
  suggested by Richard. For the associated helpers (tlb_index etc)
  I tried several approaches, and performance-wise they're all
  the same, so went for the simplest implementation.

- Use uintptr_t for tlb_mask, as done in Richard's patch
  + tcg/i386: use hrexw when reading tlb_mask
  + Define tlbtype and tlbrexw solely based on TARGET_PAGE_BITS

- Rename tlb_is_invalid to tlb_entry_is_empty, comparing all
  fields (except .addend) against -1.

- Rename CPUTLBDesc.used to .n_used_entries.

- Drop the MIN/MAX CPU_TLB_BITS patches, defining instead
  some values for MIN/MAX as well as a default.

- Use new_size and old_size consistently in the resizing function,
  as suggested by Richard.

- Add an additional chart to the last patch, where softmmu
  performance is compared against user-mode:
    https://imgur.com/a/eXkjMCE

You can fetch this series from:
  https://github.com/cota/qemu/tree/tlb-dyn-v2

Note that it applies on top of my tlb-lock-v4 series:
  https://lists.gnu.org/archive/html/qemu-devel/2018-10/msg01421.html

Thanks,

                Emilio





reply via email to

[Prev in Thread] Current Thread [Next in Thread]