mm/khugepaged: use helper macro __ATTR_RW
Use helper macro __ATTR_RW to define the khugepaged attributes. Minor readability improvement. Link: https://lkml.kernel.org/r/20220625092816.4856-6-linmiaohe@huawei.com Signed-off-by: Miaohe Lin <linmiaohe@huawei.com> Reviewed-by: Yang Shi <shy828301@gmail.com> Cc: Alistair Popple <apopple@nvidia.com> Cc: Andrea Arcangeli <aarcange@redhat.com> Cc: David Hildenbrand <david@redhat.com> Cc: David Howells <dhowells@redhat.com> Cc: Matthew Wilcox (Oracle) <willy@infradead.org> Cc: NeilBrown <neilb@suse.de> Cc: Peter Xu <peterx@redhat.com> Cc: Suren Baghdasaryan <surenb@google.com> Cc: Vlastimil Babka <vbabka@suse.cz> Cc: Zach O'Keefe <zokeefe@google.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
This commit is contained in:
Родитель
2f55f070e5
Коммит
6dcdc94db1
|
@ -147,8 +147,7 @@ static ssize_t scan_sleep_millisecs_store(struct kobject *kobj,
|
|||
return count;
|
||||
}
|
||||
static struct kobj_attribute scan_sleep_millisecs_attr =
|
||||
__ATTR(scan_sleep_millisecs, 0644, scan_sleep_millisecs_show,
|
||||
scan_sleep_millisecs_store);
|
||||
__ATTR_RW(scan_sleep_millisecs);
|
||||
|
||||
static ssize_t alloc_sleep_millisecs_show(struct kobject *kobj,
|
||||
struct kobj_attribute *attr,
|
||||
|
@ -175,8 +174,7 @@ static ssize_t alloc_sleep_millisecs_store(struct kobject *kobj,
|
|||
return count;
|
||||
}
|
||||
static struct kobj_attribute alloc_sleep_millisecs_attr =
|
||||
__ATTR(alloc_sleep_millisecs, 0644, alloc_sleep_millisecs_show,
|
||||
alloc_sleep_millisecs_store);
|
||||
__ATTR_RW(alloc_sleep_millisecs);
|
||||
|
||||
static ssize_t pages_to_scan_show(struct kobject *kobj,
|
||||
struct kobj_attribute *attr,
|
||||
|
@ -200,8 +198,7 @@ static ssize_t pages_to_scan_store(struct kobject *kobj,
|
|||
return count;
|
||||
}
|
||||
static struct kobj_attribute pages_to_scan_attr =
|
||||
__ATTR(pages_to_scan, 0644, pages_to_scan_show,
|
||||
pages_to_scan_store);
|
||||
__ATTR_RW(pages_to_scan);
|
||||
|
||||
static ssize_t pages_collapsed_show(struct kobject *kobj,
|
||||
struct kobj_attribute *attr,
|
||||
|
@ -221,22 +218,21 @@ static ssize_t full_scans_show(struct kobject *kobj,
|
|||
static struct kobj_attribute full_scans_attr =
|
||||
__ATTR_RO(full_scans);
|
||||
|
||||
static ssize_t khugepaged_defrag_show(struct kobject *kobj,
|
||||
struct kobj_attribute *attr, char *buf)
|
||||
static ssize_t defrag_show(struct kobject *kobj,
|
||||
struct kobj_attribute *attr, char *buf)
|
||||
{
|
||||
return single_hugepage_flag_show(kobj, attr, buf,
|
||||
TRANSPARENT_HUGEPAGE_DEFRAG_KHUGEPAGED_FLAG);
|
||||
}
|
||||
static ssize_t khugepaged_defrag_store(struct kobject *kobj,
|
||||
struct kobj_attribute *attr,
|
||||
const char *buf, size_t count)
|
||||
static ssize_t defrag_store(struct kobject *kobj,
|
||||
struct kobj_attribute *attr,
|
||||
const char *buf, size_t count)
|
||||
{
|
||||
return single_hugepage_flag_store(kobj, attr, buf, count,
|
||||
TRANSPARENT_HUGEPAGE_DEFRAG_KHUGEPAGED_FLAG);
|
||||
}
|
||||
static struct kobj_attribute khugepaged_defrag_attr =
|
||||
__ATTR(defrag, 0644, khugepaged_defrag_show,
|
||||
khugepaged_defrag_store);
|
||||
__ATTR_RW(defrag);
|
||||
|
||||
/*
|
||||
* max_ptes_none controls if khugepaged should collapse hugepages over
|
||||
|
@ -246,15 +242,15 @@ static struct kobj_attribute khugepaged_defrag_attr =
|
|||
* runs. Increasing max_ptes_none will instead potentially reduce the
|
||||
* free memory in the system during the khugepaged scan.
|
||||
*/
|
||||
static ssize_t khugepaged_max_ptes_none_show(struct kobject *kobj,
|
||||
struct kobj_attribute *attr,
|
||||
char *buf)
|
||||
static ssize_t max_ptes_none_show(struct kobject *kobj,
|
||||
struct kobj_attribute *attr,
|
||||
char *buf)
|
||||
{
|
||||
return sysfs_emit(buf, "%u\n", khugepaged_max_ptes_none);
|
||||
}
|
||||
static ssize_t khugepaged_max_ptes_none_store(struct kobject *kobj,
|
||||
struct kobj_attribute *attr,
|
||||
const char *buf, size_t count)
|
||||
static ssize_t max_ptes_none_store(struct kobject *kobj,
|
||||
struct kobj_attribute *attr,
|
||||
const char *buf, size_t count)
|
||||
{
|
||||
int err;
|
||||
unsigned long max_ptes_none;
|
||||
|
@ -268,19 +264,18 @@ static ssize_t khugepaged_max_ptes_none_store(struct kobject *kobj,
|
|||
return count;
|
||||
}
|
||||
static struct kobj_attribute khugepaged_max_ptes_none_attr =
|
||||
__ATTR(max_ptes_none, 0644, khugepaged_max_ptes_none_show,
|
||||
khugepaged_max_ptes_none_store);
|
||||
__ATTR_RW(max_ptes_none);
|
||||
|
||||
static ssize_t khugepaged_max_ptes_swap_show(struct kobject *kobj,
|
||||
struct kobj_attribute *attr,
|
||||
char *buf)
|
||||
static ssize_t max_ptes_swap_show(struct kobject *kobj,
|
||||
struct kobj_attribute *attr,
|
||||
char *buf)
|
||||
{
|
||||
return sysfs_emit(buf, "%u\n", khugepaged_max_ptes_swap);
|
||||
}
|
||||
|
||||
static ssize_t khugepaged_max_ptes_swap_store(struct kobject *kobj,
|
||||
struct kobj_attribute *attr,
|
||||
const char *buf, size_t count)
|
||||
static ssize_t max_ptes_swap_store(struct kobject *kobj,
|
||||
struct kobj_attribute *attr,
|
||||
const char *buf, size_t count)
|
||||
{
|
||||
int err;
|
||||
unsigned long max_ptes_swap;
|
||||
|
@ -295,19 +290,18 @@ static ssize_t khugepaged_max_ptes_swap_store(struct kobject *kobj,
|
|||
}
|
||||
|
||||
static struct kobj_attribute khugepaged_max_ptes_swap_attr =
|
||||
__ATTR(max_ptes_swap, 0644, khugepaged_max_ptes_swap_show,
|
||||
khugepaged_max_ptes_swap_store);
|
||||
__ATTR_RW(max_ptes_swap);
|
||||
|
||||
static ssize_t khugepaged_max_ptes_shared_show(struct kobject *kobj,
|
||||
struct kobj_attribute *attr,
|
||||
char *buf)
|
||||
static ssize_t max_ptes_shared_show(struct kobject *kobj,
|
||||
struct kobj_attribute *attr,
|
||||
char *buf)
|
||||
{
|
||||
return sysfs_emit(buf, "%u\n", khugepaged_max_ptes_shared);
|
||||
}
|
||||
|
||||
static ssize_t khugepaged_max_ptes_shared_store(struct kobject *kobj,
|
||||
struct kobj_attribute *attr,
|
||||
const char *buf, size_t count)
|
||||
static ssize_t max_ptes_shared_store(struct kobject *kobj,
|
||||
struct kobj_attribute *attr,
|
||||
const char *buf, size_t count)
|
||||
{
|
||||
int err;
|
||||
unsigned long max_ptes_shared;
|
||||
|
@ -322,8 +316,7 @@ static ssize_t khugepaged_max_ptes_shared_store(struct kobject *kobj,
|
|||
}
|
||||
|
||||
static struct kobj_attribute khugepaged_max_ptes_shared_attr =
|
||||
__ATTR(max_ptes_shared, 0644, khugepaged_max_ptes_shared_show,
|
||||
khugepaged_max_ptes_shared_store);
|
||||
__ATTR_RW(max_ptes_shared);
|
||||
|
||||
static struct attribute *khugepaged_attr[] = {
|
||||
&khugepaged_defrag_attr.attr,
|
||||
|
|
Загрузка…
Ссылка в новой задаче