On Mon Jan 22, 2024 at 7:20 PM EET, Haitao Huang wrote:
> From: Kristen Carlson Accardi <kris...@linux.intel.com>
>
> When cgroup is enabled, all reclaimable pages will be tracked in cgroup
> LRUs. The global reclaimer needs to start reclamation from the root
> cgroup. Expose the top level cgroup reclamation function so the global
> reclaimer can reuse it.
>
> Co-developed-by: Sean Christopherson <sean.j.christopher...@intel.com>
> Signed-off-by: Sean Christopherson <sean.j.christopher...@intel.com>
> Signed-off-by: Kristen Carlson Accardi <kris...@linux.intel.com>
> Co-developed-by: Haitao Huang <haitao.hu...@linux.intel.com>
> Signed-off-by: Haitao Huang <haitao.hu...@linux.intel.com>
> ---
> V7:
> - Split this out from the big patch, #10 in V6. (Dave, Kai)
> ---
>  arch/x86/kernel/cpu/sgx/epc_cgroup.c | 2 +-
>  arch/x86/kernel/cpu/sgx/epc_cgroup.h | 9 +++++++++
>  2 files changed, 10 insertions(+), 1 deletion(-)
>
> diff --git a/arch/x86/kernel/cpu/sgx/epc_cgroup.c 
> b/arch/x86/kernel/cpu/sgx/epc_cgroup.c
> index c28ed12ff864..fdf1417d9ade 100644
> --- a/arch/x86/kernel/cpu/sgx/epc_cgroup.c
> +++ b/arch/x86/kernel/cpu/sgx/epc_cgroup.c
> @@ -88,7 +88,7 @@ bool sgx_epc_cgroup_lru_empty(struct misc_cg *root)
>   * @indirect:   In ksgxd or EPC cgroup work queue context.
>   * Return:   Number of pages reclaimed.
>   */
> -static unsigned int sgx_epc_cgroup_reclaim_pages(struct misc_cg *root, bool 
> indirect)
> +unsigned int sgx_epc_cgroup_reclaim_pages(struct misc_cg *root, bool 
> indirect)
>  {
>       /*
>        * Attempting to reclaim only a few pages will often fail and is 
> inefficient, while
> diff --git a/arch/x86/kernel/cpu/sgx/epc_cgroup.h 
> b/arch/x86/kernel/cpu/sgx/epc_cgroup.h
> index 6e156de5f7ff..05a4de9f7024 100644
> --- a/arch/x86/kernel/cpu/sgx/epc_cgroup.h
> +++ b/arch/x86/kernel/cpu/sgx/epc_cgroup.h
> @@ -31,6 +31,12 @@ static inline int sgx_epc_cgroup_try_charge(struct 
> sgx_epc_cgroup *epc_cg, bool
>  static inline void sgx_epc_cgroup_uncharge(struct sgx_epc_cgroup *epc_cg) { }
>  
>  static inline void sgx_epc_cgroup_init(void) { }
> +
> +static inline unsigned int sgx_epc_cgroup_reclaim_pages(struct misc_cg *root,
> +                                                     bool indirect)
> +{
> +     return 0;
> +}
>  #else
>  struct sgx_epc_cgroup {
>       struct misc_cg                  *cg;
> @@ -69,6 +75,9 @@ static inline void sgx_put_epc_cg(struct sgx_epc_cgroup 
> *epc_cg)
>  int sgx_epc_cgroup_try_charge(struct sgx_epc_cgroup *epc_cg, bool reclaim);
>  void sgx_epc_cgroup_uncharge(struct sgx_epc_cgroup *epc_cg);
>  bool sgx_epc_cgroup_lru_empty(struct misc_cg *root);
> +unsigned int sgx_epc_cgroup_reclaim_pages(struct misc_cg *root,
> +                                       bool indirect);

Here, on the other hand, you could put the whole declaration to single
line.

> +
>  void sgx_epc_cgroup_init(void);
>  
>  #endif

BR, Jarkko


Reply via email to