History

mm/damon: remove some unneeded function definitions in damon.h

In damon.h some func definitions about VA & PA can only be used in its own file, so there no need to define in the header file, and the header file will look cleaner. If other files later need these functions, the prototypes can be added to damon.h at that time. [sj@kernel.org: remove unnecessary function prototype position changes] Link: https://lkml.kernel.org/r/20211118114827.20052-1-sj@kernel.org

Xin Hao committed 4 years ago

Commit cdeed001 parent d720bbb3 files · +16 −34Browse files

Unified · Split

3 files
  1. include/linux/damon.h +0 −21
  2. mm/damon/paddr.c +6 −5
  3. mm/damon/vaddr.c +10 −8
include/linux/damon.h+0−21
@@ -461,34 +461,13 @@ int damon_stop(struct damon_ctx **ctxs, int nr_ctxs); · 460 unmodified lines
461#endif /* CONFIG_DAMON */461#endif /* CONFIG_DAMON */
462 462
463#ifdef CONFIG_DAMON_VADDR463#ifdef CONFIG_DAMON_VADDR
464
465/* Monitoring primitives for virtual memory address spaces */
466void damon_va_init(struct damon_ctx *ctx);
467void damon_va_update(struct damon_ctx *ctx);
468void damon_va_prepare_access_checks(struct damon_ctx *ctx);
469unsigned int damon_va_check_accesses(struct damon_ctx *ctx);
470bool damon_va_target_valid(void *t);464bool damon_va_target_valid(void *t);
471void damon_va_cleanup(struct damon_ctx *ctx);
472int damon_va_apply_scheme(struct damon_ctx *context, struct damon_target *t,
473 struct damon_region *r, struct damos *scheme);
474int damon_va_scheme_score(struct damon_ctx *context, struct damon_target *t,
475 struct damon_region *r, struct damos *scheme);
476void damon_va_set_primitives(struct damon_ctx *ctx);465void damon_va_set_primitives(struct damon_ctx *ctx);
477
478#endif /* CONFIG_DAMON_VADDR */466#endif /* CONFIG_DAMON_VADDR */
479 467
480#ifdef CONFIG_DAMON_PADDR468#ifdef CONFIG_DAMON_PADDR
481
482/* Monitoring primitives for the physical memory address space */
483void damon_pa_prepare_access_checks(struct damon_ctx *ctx);
484unsigned int damon_pa_check_accesses(struct damon_ctx *ctx);
485bool damon_pa_target_valid(void *t);469bool damon_pa_target_valid(void *t);
486int damon_pa_apply_scheme(struct damon_ctx *context, struct damon_target *t,
487 struct damon_region *r, struct damos *scheme);
488int damon_pa_scheme_score(struct damon_ctx *context, struct damon_target *t,
489 struct damon_region *r, struct damos *scheme);
490void damon_pa_set_primitives(struct damon_ctx *ctx);470void damon_pa_set_primitives(struct damon_ctx *ctx);
491
492#endif /* CONFIG_DAMON_PADDR */471#endif /* CONFIG_DAMON_PADDR */
493 472
494#endif /* _DAMON_H */473#endif /* _DAMON_H */
mm/damon/paddr.c+6−5
@@ -73,7 +73,7 @@ static void __damon_pa_prepare_access_check(struct damon_ctx *ctx, · 72 unmodified lines
73 damon_pa_mkold(r->sampling_addr);73 damon_pa_mkold(r->sampling_addr);
74}74}
75 75
76void damon_pa_prepare_access_checks(struct damon_ctx *ctx)76static void damon_pa_prepare_access_checks(struct damon_ctx *ctx)
77{77{
78 struct damon_target *t;78 struct damon_target *t;
79 struct damon_region *r;79 struct damon_region *r;
@@ -192,7 +192,7 @@ static void __damon_pa_check_access(struct damon_ctx *ctx, · 112 unmodified lines
192 last_addr = r->sampling_addr;192 last_addr = r->sampling_addr;
193}193}
194 194
195unsigned int damon_pa_check_accesses(struct damon_ctx *ctx)195static unsigned int damon_pa_check_accesses(struct damon_ctx *ctx)
196{196{
197 struct damon_target *t;197 struct damon_target *t;
198 struct damon_region *r;198 struct damon_region *r;
@@ -213,7 +213,7 @@ bool damon_pa_target_valid(void *t) · 14 unmodified lines
213 return true;213 return true;
214}214}
215 215
216int damon_pa_apply_scheme(struct damon_ctx *ctx, struct damon_target *t,216static int damon_pa_apply_scheme(struct damon_ctx *ctx, struct damon_target *t,
217 struct damon_region *r, struct damos *scheme)217 struct damon_region *r, struct damos *scheme)
218{218{
219 unsigned long addr;219 unsigned long addr;
@@ -246,8 +246,9 @@ int damon_pa_apply_scheme(struct damon_ctx *ctx, struct damon_target *t, · 26 unmodified lines
246 return 0;246 return 0;
247}247}
248 248
249int damon_pa_scheme_score(struct damon_ctx *context, struct damon_target *t,249static int damon_pa_scheme_score(struct damon_ctx *context,
250 struct damon_region *r, struct damos *scheme)250 struct damon_target *t, struct damon_region *r,
251 struct damos *scheme)
251{252{
252 switch (scheme->action) {253 switch (scheme->action) {
253 case DAMOS_PAGEOUT:254 case DAMOS_PAGEOUT:
mm/damon/vaddr.c+10−8
@@ -272,7 +272,7 @@ static void __damon_va_init_regions(struct damon_ctx *ctx, · 271 unmodified lines
272}272}
273 273
274/* Initialize '->regions_list' of every target (task) */274/* Initialize '->regions_list' of every target (task) */
275void damon_va_init(struct damon_ctx *ctx)275static void damon_va_init(struct damon_ctx *ctx)
276{276{
277 struct damon_target *t;277 struct damon_target *t;
278 278
@@ -292,7 +292,8 @@ void damon_va_init(struct damon_ctx *ctx) · 13 unmodified lines
292 *292 *
293 * Returns true if it is.293 * Returns true if it is.
294 */294 */
295static bool damon_intersect(struct damon_region *r, struct damon_addr_range *re)295static bool damon_intersect(struct damon_region *r,
296 struct damon_addr_range *re)
296{297{
297 return !(r->ar.end <= re->start || re->end <= r->ar.start);298 return !(r->ar.end <= re->start || re->end <= r->ar.start);
298}299}
@@ -356,7 +357,7 @@ static void damon_va_apply_three_regions(struct damon_target *t, · 57 unmodified lines
356/*357/*
357 * Update regions for current memory mappings358 * Update regions for current memory mappings
358 */359 */
359void damon_va_update(struct damon_ctx *ctx)360static void damon_va_update(struct damon_ctx *ctx)
360{361{
361 struct damon_addr_range three_regions[3];362 struct damon_addr_range three_regions[3];
362 struct damon_target *t;363 struct damon_target *t;
@@ -418,7 +419,7 @@ static void __damon_va_prepare_access_check(struct damon_ctx *ctx, · 55 unmodified lines
418 damon_va_mkold(mm, r->sampling_addr);419 damon_va_mkold(mm, r->sampling_addr);
419}420}
420 421
421void damon_va_prepare_access_checks(struct damon_ctx *ctx)422static void damon_va_prepare_access_checks(struct damon_ctx *ctx)
422{423{
423 struct damon_target *t;424 struct damon_target *t;
424 struct mm_struct *mm;425 struct mm_struct *mm;
@@ -539,7 +540,7 @@ static void __damon_va_check_access(struct damon_ctx *ctx, · 114 unmodified lines
539 last_addr = r->sampling_addr;540 last_addr = r->sampling_addr;
540}541}
541 542
542unsigned int damon_va_check_accesses(struct damon_ctx *ctx)543static unsigned int damon_va_check_accesses(struct damon_ctx *ctx)
543{544{
544 struct damon_target *t;545 struct damon_target *t;
545 struct mm_struct *mm;546 struct mm_struct *mm;
@@ -603,7 +604,7 @@ out: · 57 unmodified lines
603}604}
604#endif /* CONFIG_ADVISE_SYSCALLS */605#endif /* CONFIG_ADVISE_SYSCALLS */
605 606
606int damon_va_apply_scheme(struct damon_ctx *ctx, struct damon_target *t,607static int damon_va_apply_scheme(struct damon_ctx *ctx, struct damon_target *t,
607 struct damon_region *r, struct damos *scheme)608 struct damon_region *r, struct damos *scheme)
608{609{
609 int madv_action;610 int madv_action;
@@ -633,8 +634,9 @@ int damon_va_apply_scheme(struct damon_ctx *ctx, struct damon_target *t, · 23 unmodified lines
633 return damos_madvise(t, r, madv_action);634 return damos_madvise(t, r, madv_action);
634}635}
635 636
636int damon_va_scheme_score(struct damon_ctx *context, struct damon_target *t,637static int damon_va_scheme_score(struct damon_ctx *context,
637 struct damon_region *r, struct damos *scheme)638 struct damon_target *t, struct damon_region *r,
639 struct damos *scheme)
638{640{
639 641
640 switch (scheme->action) {642 switch (scheme->action) {

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t