Messages in this thread Patch in this message | | | From | Kristen Carlson Accardi <> | Subject | [RFC PATCH 01/20] x86/sgx: Call cond_resched() at the end of sgx_reclaim_pages() | Date | Thu, 22 Sep 2022 10:10:38 -0700 |
| |
From: Sean Christopherson <sean.j.christopherson@intel.com>
Move the invocation of post-reclaim cond_resched() from the callers of sgx_reclaim_pages() into the reclaim path itself. sgx_reclaim_pages() is always called in a loop and is always followed by a call to cond_resched(). This will hold true for the EPC cgroup as well, which adds even more calls to sgx_reclaim_pages() and thus cond_resched().
Signed-off-by: Sean Christopherson <sean.j.christopherson@intel.com> Signed-off-by: Kristen Carlson Accardi <kristen@linux.intel.com> Cc: Sean Christopherson <seanjc@google.com> --- arch/x86/kernel/cpu/sgx/main.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/arch/x86/kernel/cpu/sgx/main.c b/arch/x86/kernel/cpu/sgx/main.c index 515e2a5f25bb..4cdeb915dc86 100644 --- a/arch/x86/kernel/cpu/sgx/main.c +++ b/arch/x86/kernel/cpu/sgx/main.c @@ -367,6 +367,8 @@ static void sgx_reclaim_pages(void) sgx_free_epc_page(epc_page); } + + cond_resched(); } static bool sgx_should_reclaim(unsigned long watermark) @@ -410,8 +412,6 @@ static int ksgxd(void *p) if (sgx_should_reclaim(SGX_NR_HIGH_PAGES)) sgx_reclaim_pages(); - - cond_resched(); } return 0; @@ -578,7 +578,6 @@ struct sgx_epc_page *sgx_alloc_epc_page(void *owner, bool reclaim) } sgx_reclaim_pages(); - cond_resched(); } if (sgx_should_reclaim(SGX_NR_LOW_PAGES)) -- 2.37.3
| |