Skip to content

x86/sgx: NUMA

Jarkko Sakkinen linux-sgx lkml 3 versions – In review

Get series with b4
b4 am [email protected]

Versions newest first · linked by author and title

  1. v4 Latest3 patches 10 repliesIn review
  2. v35 patches 22 repliesSuperseded
  3. v11 patch 0 repliesSuperseded

v3 from the cover letter

* Expanded into a full patch set, which also implements more balanced EPC allocation among the NUMA nodes. Since none of the patches fully match the previous single patch entry, included earlier change log to the cover letter.

Patches in v4 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/3x86/sgx: Use sgx_free_epc_page() in sgx_reclaim_pages()arch/x86/kernel/cpu/sgx/main.c+1 -64 replies
2/3x86/sgx: Replace section local dirty page lists with a global listarch/x86/kernel/cpu/sgx/main.c arch/x86/kernel/cpu/sgx/sgx.h+37 -513 replies
3/3x86/sgx: Add a basic NUMA allocation scheme to sgx_alloc_epc_page()arch/x86/Kconfig arch/x86/kernel/cpu/sgx/main.c arch/x86/kernel/cpu/sgx/sgx.h+84 -503 replies

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v4 yet.

Read the v4 thread

Cover letter [PATCH v4 0/3] x86/sgx: NUMA

Make sgx_alloc_epc_page() more balanced among the NUMA nodes, refactoring hierarchical listi into a single global free list managed in FIFO fashion.

Introduce NUMA node local free EPC page lists. In sgx_alloc_epc_page(), try first to allocate from the local free list, and fallback to global free list, if the local list is empty.

Cc Dave Hansen <[email protected]>
Cc Borislav Petkov <[email protected]>
Cc Haitao Huang <[email protected]>

v3:
* Expanded into a full patch set, which also implements more balanced EPC allocation among the NUMA nodes. Since none of the patches fully match the previous single patch entry, included earlier change log to the cover letter.

v2:
* s/section_list/numa_section_list/
* s/MAX_NUMNODES//num_possible_nodes()/
* Add more verbose inline comments that Dave provided.
* If NUMA mapping fails, print a warning and description of the fallback. The physical address is already printed in pr_info(), just before the mapping happens.

Jarkko Sakkinen (3):
x86/sgx: Use sgx_free_epc_page() in sgx_reclaim_pages() x86/sgx: Replace section local dirty page lists with a global list x86/sgx: Add a basic NUMA allocation scheme to sgx_alloc_epc_page()

 arch/x86/Kconfig               |   1 +
 arch/x86/kernel/cpu/sgx/main.c | 203 ++++++++++++++++++---------------
 arch/x86/kernel/cpu/sgx/sgx.h  |  23 ++--
 3 files changed, 121 insertions(+), 106 deletions(-)
Signature · 1 line
2.30.2