mirror of
https://github.com/torvalds/linux.git
synced 2026-09-29 20:53:01 +02:00
mm/damon/core: hide private damon_region fields
Patch series "mm/damon/core: hide core-private struct fields". DAMON core structs hide core-private fields using 'private:' comment tags. It is incomplete and inconsistent. The linked list heads in a few structs, for example, are intended to be hidden, and always be used using the wrapper macros like damon_for_each_region(). But those were mistakenly marked as non-private. A few core layer-only fields were also mistakenly added as non-private. This only encourages callers to directly use the private fields. It is easy to make mistakes, and difficult to control. Mark all such DAMON core struct fields as private. Patches 1-8 mark the private fields for damon_region, damon_target, damos_quota_goal, damos_quota, damos_filter, damos, damon_filter and damon_probe, respectively. Patch 9 removes DAMON_SYSFS's direct access to core-private field, damon_ctx->ops. Finally patch 10 mark the private fields for damon_ctx. This patch (of 10): damon_region->list is intended to be used by only the DAMON core layer. But it is mistakenly not marked as private. Hide it from the callers by marking it private. Link: https://lore.kernel.org/20260714143544.101305-1-sj@kernel.org Link: https://lore.kernel.org/20260714143544.101305-2-sj@kernel.org Signed-off-by: SJ Park <sj@kernel.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
This commit is contained in:
parent
5c3746a0fe
commit
e0ea9467db
|
|
@ -46,7 +46,6 @@ struct damon_size_range {
|
|||
* @sampling_addr: Address of the sample for the next access check.
|
||||
* @nr_accesses: Access frequency of this region.
|
||||
* @probe_hits: Number of probe-positive region samples.
|
||||
* @list: List head for siblings.
|
||||
* @age: Age of this region.
|
||||
*
|
||||
* For any use case, @ar should be non-zero positive size. damon_set_regions()
|
||||
|
|
@ -68,9 +67,11 @@ struct damon_region {
|
|||
unsigned long sampling_addr;
|
||||
unsigned int nr_accesses;
|
||||
unsigned char probe_hits[DAMON_MAX_PROBES];
|
||||
struct list_head list;
|
||||
unsigned int age;
|
||||
/* private: Internal value for age calculation. */
|
||||
/* private: internal use only. */
|
||||
/* List head for siblings. */
|
||||
struct list_head list;
|
||||
/* for age calculation. */
|
||||
unsigned int last_nr_accesses;
|
||||
unsigned char last_probe_hits[DAMON_MAX_PROBES];
|
||||
};
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user