mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-04-13 06:10:18 -04:00
mm/damon/sysfs: remove damon_sysfs_cmd_request_callback() and its callers
damon_sysfs_cmd_request_callback() is the damon_callback hook functions that were used to handle user requests that need to read and/or write DAMON internal data. All the usages are now updated to use damon_call() or damos_walk(), though. Remove it and its callers. Link: https://lkml.kernel.org/r/20250306175908.66300-7-sj@kernel.org Signed-off-by: SeongJae Park <sj@kernel.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
This commit is contained in:
committed by
Andrew Morton
parent
8b40db0edf
commit
311f34ff85
@@ -1529,65 +1529,6 @@ static int damon_sysfs_upd_tuned_intervals(void *data)
|
||||
return 0;
|
||||
}
|
||||
|
||||
/*
|
||||
* damon_sysfs_cmd_request_callback() - DAMON callback for handling requests.
|
||||
* @c: The DAMON context of the callback.
|
||||
* @active: Whether @c is not deactivated due to watermarks.
|
||||
* @after_aggr: Whether this is called from after_aggregation() callback.
|
||||
*
|
||||
* This function is periodically called back from the kdamond thread for @c.
|
||||
* Then, it checks if there is a waiting DAMON sysfs request and handles it.
|
||||
*/
|
||||
static int damon_sysfs_cmd_request_callback(struct damon_ctx *c, bool active,
|
||||
bool after_aggregation)
|
||||
{
|
||||
struct damon_sysfs_kdamond *kdamond;
|
||||
int err = 0;
|
||||
|
||||
/* avoid deadlock due to concurrent state_store('off') */
|
||||
if (!mutex_trylock(&damon_sysfs_lock))
|
||||
return 0;
|
||||
kdamond = damon_sysfs_cmd_request.kdamond;
|
||||
if (!kdamond || kdamond->damon_ctx != c)
|
||||
goto out;
|
||||
switch (damon_sysfs_cmd_request.cmd) {
|
||||
default:
|
||||
break;
|
||||
}
|
||||
/* Mark the request as invalid now. */
|
||||
damon_sysfs_cmd_request.kdamond = NULL;
|
||||
out:
|
||||
mutex_unlock(&damon_sysfs_lock);
|
||||
return err;
|
||||
}
|
||||
|
||||
static int damon_sysfs_after_wmarks_check(struct damon_ctx *c)
|
||||
{
|
||||
/*
|
||||
* after_wmarks_check() is called back while the context is deactivated
|
||||
* by watermarks.
|
||||
*/
|
||||
return damon_sysfs_cmd_request_callback(c, false, false);
|
||||
}
|
||||
|
||||
static int damon_sysfs_after_sampling(struct damon_ctx *c)
|
||||
{
|
||||
/*
|
||||
* after_sampling() is called back only while the context is not
|
||||
* deactivated by watermarks.
|
||||
*/
|
||||
return damon_sysfs_cmd_request_callback(c, true, false);
|
||||
}
|
||||
|
||||
static int damon_sysfs_after_aggregation(struct damon_ctx *c)
|
||||
{
|
||||
/*
|
||||
* after_aggregation() is called back only while the context is not
|
||||
* deactivated by watermarks.
|
||||
*/
|
||||
return damon_sysfs_cmd_request_callback(c, true, true);
|
||||
}
|
||||
|
||||
static struct damon_ctx *damon_sysfs_build_ctx(
|
||||
struct damon_sysfs_context *sys_ctx)
|
||||
{
|
||||
@@ -1603,9 +1544,6 @@ static struct damon_ctx *damon_sysfs_build_ctx(
|
||||
return ERR_PTR(err);
|
||||
}
|
||||
|
||||
ctx->callback.after_wmarks_check = damon_sysfs_after_wmarks_check;
|
||||
ctx->callback.after_sampling = damon_sysfs_after_sampling;
|
||||
ctx->callback.after_aggregation = damon_sysfs_after_aggregation;
|
||||
ctx->callback.before_terminate = damon_sysfs_before_terminate;
|
||||
return ctx;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user