Skip to content

Commit 2cd4b8e

Browse files
Guoqing Jiangtorvalds
authored andcommitted
mm/damon: move the implementation of damon_insert_region to damon.h
Usually, inline function is declared static since it should sit between storage and type. And implement it in a header file if used by multiple files. And this change also fixes compile issue when backport damon to 5.10. mm/damon/vaddr.c: In function `damon_va_evenly_split_region': ./include/linux/damon.h:425:13: error: inlining failed in call to `always_inline' `damon_insert_region': function body not available 425 | inline void damon_insert_region(struct damon_region *r, | ^~~~~~~~~~~~~~~~~~~ mm/damon/vaddr.c:86:3: note: called from here 86 | damon_insert_region(n, r, next, t); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Link: https://lkml.kernel.org/r/[email protected] Signed-off-by: Guoqing Jiang <[email protected]> Reviewed-by: SeongJae Park <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
1 parent 49f4203 commit 2cd4b8e

File tree

2 files changed

+11
-13
lines changed

2 files changed

+11
-13
lines changed

include/linux/damon.h

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -451,9 +451,18 @@ static inline struct damon_region *damon_last_region(struct damon_target *t)
451451
#ifdef CONFIG_DAMON
452452

453453
struct damon_region *damon_new_region(unsigned long start, unsigned long end);
454-
inline void damon_insert_region(struct damon_region *r,
454+
455+
/*
456+
* Add a region between two other regions
457+
*/
458+
static inline void damon_insert_region(struct damon_region *r,
455459
struct damon_region *prev, struct damon_region *next,
456-
struct damon_target *t);
460+
struct damon_target *t)
461+
{
462+
__list_add(&r->list, &prev->list, &next->list);
463+
t->nr_regions++;
464+
}
465+
457466
void damon_add_region(struct damon_region *r, struct damon_target *t);
458467
void damon_destroy_region(struct damon_region *r, struct damon_target *t);
459468

mm/damon/core.c

Lines changed: 0 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -49,17 +49,6 @@ struct damon_region *damon_new_region(unsigned long start, unsigned long end)
4949
return region;
5050
}
5151

52-
/*
53-
* Add a region between two other regions
54-
*/
55-
inline void damon_insert_region(struct damon_region *r,
56-
struct damon_region *prev, struct damon_region *next,
57-
struct damon_target *t)
58-
{
59-
__list_add(&r->list, &prev->list, &next->list);
60-
t->nr_regions++;
61-
}
62-
6352
void damon_add_region(struct damon_region *r, struct damon_target *t)
6453
{
6554
list_add_tail(&r->list, &t->regions_list);

0 commit comments

Comments
 (0)