mm/damon/vaddr,paddr: support pageout prioritization
[linux-2.6-microblaze.git] / mm / damon / vaddr.c
index 758501b..675cd8c 100644 (file)
@@ -633,6 +633,20 @@ int damon_va_apply_scheme(struct damon_ctx *ctx, struct damon_target *t,
        return damos_madvise(t, r, madv_action);
 }
 
+int damon_va_scheme_score(struct damon_ctx *context, struct damon_target *t,
+               struct damon_region *r, struct damos *scheme)
+{
+
+       switch (scheme->action) {
+       case DAMOS_PAGEOUT:
+               return damon_pageout_score(context, r, scheme);
+       default:
+               break;
+       }
+
+       return DAMOS_MAX_SCORE;
+}
+
 void damon_va_set_primitives(struct damon_ctx *ctx)
 {
        ctx->primitive.init = damon_va_init;
@@ -643,6 +657,7 @@ void damon_va_set_primitives(struct damon_ctx *ctx)
        ctx->primitive.target_valid = damon_va_target_valid;
        ctx->primitive.cleanup = NULL;
        ctx->primitive.apply_scheme = damon_va_apply_scheme;
+       ctx->primitive.get_scheme_score = damon_va_scheme_score;
 }
 
 #include "vaddr-test.h"