History

mm/rmap: Constify the rmap_walk_control argument

The rmap walking functions do not modify the rmap_walk_control, and page_idle_clear_pte_refs() takes advantage of that to move construction of the rmap_walk_control to compile time. This lets us remove an unclean cast.

Matthew Wilcox (Oracle) committed 4 years ago

Commit 84fbbe21 parent 2f031c65 files · +13 −13Browse files

Showing the changes to include (2 of 5 files). Show all

Unified · Split

2 files
  1. include/linux/ksm.h +2 −2
  2. include/linux/rmap.h +2 −2
include/linux/ksm.h+2−2
@@ -51,7 +51,7 @@ static inline void ksm_exit(struct mm_struct *mm) · 50 unmodified lines
51struct page *ksm_might_need_to_copy(struct page *page,51struct page *ksm_might_need_to_copy(struct page *page,
52 struct vm_area_struct *vma, unsigned long address);52 struct vm_area_struct *vma, unsigned long address);
53 53
54void rmap_walk_ksm(struct folio *folio, struct rmap_walk_control *rwc);54void rmap_walk_ksm(struct folio *folio, const struct rmap_walk_control *rwc);
55void folio_migrate_ksm(struct folio *newfolio, struct folio *folio);55void folio_migrate_ksm(struct folio *newfolio, struct folio *folio);
56 56
57#else /* !CONFIG_KSM */57#else /* !CONFIG_KSM */
@@ -79,7 +79,7 @@ static inline struct page *ksm_might_need_to_copy(struct page *page, · 21 unmodified lines
79}79}
80 80
81static inline void rmap_walk_ksm(struct folio *folio,81static inline void rmap_walk_ksm(struct folio *folio,
82 struct rmap_walk_control *rwc)82 const struct rmap_walk_control *rwc)
83{83{
84}84}
85 85
include/linux/rmap.h+2−2
@@ -292,8 +292,8 @@ struct rmap_walk_control { · 291 unmodified lines
292 bool (*invalid_vma)(struct vm_area_struct *vma, void *arg);292 bool (*invalid_vma)(struct vm_area_struct *vma, void *arg);
293};293};
294 294
295void rmap_walk(struct folio *folio, struct rmap_walk_control *rwc);295void rmap_walk(struct folio *folio, const struct rmap_walk_control *rwc);
296void rmap_walk_locked(struct folio *folio, struct rmap_walk_control *rwc);296void rmap_walk_locked(struct folio *folio, const struct rmap_walk_control *rwc);
297 297
298#else /* !CONFIG_MMU */298#else /* !CONFIG_MMU */
299 299

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