mm: use sysfs_emit for struct kobject * uses
Patch series "mm: Convert sysfs sprintf family to sysfs_emit", v2.
Use the new sysfs_emit family and not the sprintf family.
This patch (of 5):
Use the sysfs_emit function instead of the sprintf family.
Done with cocci script as in commit 3c6bff3cf9
("RDMA: Convert sysfs
kobject * show functions to use sysfs_emit()")
Link: https://lkml.kernel.org/r/cover.1605376435.git.joe@perches.com
Link: https://lkml.kernel.org/r/9c249215bad6df616ba0410ad980042694970c1b.1605376435.git.joe@perches.com
Signed-off-by: Joe Perches <joe@perches.com>
Cc: Mike Kravetz <mike.kravetz@oracle.com>
Cc: Hugh Dickins <hughd@google.com>
Cc: Christoph Lameter <cl@linux.com>
Cc: Pekka Enberg <penberg@kernel.org>
Cc: David Rientjes <rientjes@google.com>
Cc: Joonsoo Kim <iamjoonsoo.kim@lge.com>
Cc: Matthew Wilcox <willy@infradead.org>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
a00cda3f0a
commit
ae7a927d27
@ -164,11 +164,11 @@ static ssize_t enabled_show(struct kobject *kobj,
|
|||||||
struct kobj_attribute *attr, char *buf)
|
struct kobj_attribute *attr, char *buf)
|
||||||
{
|
{
|
||||||
if (test_bit(TRANSPARENT_HUGEPAGE_FLAG, &transparent_hugepage_flags))
|
if (test_bit(TRANSPARENT_HUGEPAGE_FLAG, &transparent_hugepage_flags))
|
||||||
return sprintf(buf, "[always] madvise never\n");
|
return sysfs_emit(buf, "[always] madvise never\n");
|
||||||
else if (test_bit(TRANSPARENT_HUGEPAGE_REQ_MADV_FLAG, &transparent_hugepage_flags))
|
else if (test_bit(TRANSPARENT_HUGEPAGE_REQ_MADV_FLAG, &transparent_hugepage_flags))
|
||||||
return sprintf(buf, "always [madvise] never\n");
|
return sysfs_emit(buf, "always [madvise] never\n");
|
||||||
else
|
else
|
||||||
return sprintf(buf, "always madvise [never]\n");
|
return sysfs_emit(buf, "always madvise [never]\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
static ssize_t enabled_store(struct kobject *kobj,
|
static ssize_t enabled_store(struct kobject *kobj,
|
||||||
@ -233,14 +233,18 @@ static ssize_t defrag_show(struct kobject *kobj,
|
|||||||
struct kobj_attribute *attr, char *buf)
|
struct kobj_attribute *attr, char *buf)
|
||||||
{
|
{
|
||||||
if (test_bit(TRANSPARENT_HUGEPAGE_DEFRAG_DIRECT_FLAG, &transparent_hugepage_flags))
|
if (test_bit(TRANSPARENT_HUGEPAGE_DEFRAG_DIRECT_FLAG, &transparent_hugepage_flags))
|
||||||
return sprintf(buf, "[always] defer defer+madvise madvise never\n");
|
return sysfs_emit(buf,
|
||||||
|
"[always] defer defer+madvise madvise never\n");
|
||||||
if (test_bit(TRANSPARENT_HUGEPAGE_DEFRAG_KSWAPD_FLAG, &transparent_hugepage_flags))
|
if (test_bit(TRANSPARENT_HUGEPAGE_DEFRAG_KSWAPD_FLAG, &transparent_hugepage_flags))
|
||||||
return sprintf(buf, "always [defer] defer+madvise madvise never\n");
|
return sysfs_emit(buf,
|
||||||
|
"always [defer] defer+madvise madvise never\n");
|
||||||
if (test_bit(TRANSPARENT_HUGEPAGE_DEFRAG_KSWAPD_OR_MADV_FLAG, &transparent_hugepage_flags))
|
if (test_bit(TRANSPARENT_HUGEPAGE_DEFRAG_KSWAPD_OR_MADV_FLAG, &transparent_hugepage_flags))
|
||||||
return sprintf(buf, "always defer [defer+madvise] madvise never\n");
|
return sysfs_emit(buf,
|
||||||
|
"always defer [defer+madvise] madvise never\n");
|
||||||
if (test_bit(TRANSPARENT_HUGEPAGE_DEFRAG_REQ_MADV_FLAG, &transparent_hugepage_flags))
|
if (test_bit(TRANSPARENT_HUGEPAGE_DEFRAG_REQ_MADV_FLAG, &transparent_hugepage_flags))
|
||||||
return sprintf(buf, "always defer defer+madvise [madvise] never\n");
|
return sysfs_emit(buf,
|
||||||
return sprintf(buf, "always defer defer+madvise madvise [never]\n");
|
"always defer defer+madvise [madvise] never\n");
|
||||||
|
return sysfs_emit(buf, "always defer defer+madvise madvise [never]\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
static ssize_t defrag_store(struct kobject *kobj,
|
static ssize_t defrag_store(struct kobject *kobj,
|
||||||
@ -281,10 +285,10 @@ static struct kobj_attribute defrag_attr =
|
|||||||
__ATTR(defrag, 0644, defrag_show, defrag_store);
|
__ATTR(defrag, 0644, defrag_show, defrag_store);
|
||||||
|
|
||||||
static ssize_t use_zero_page_show(struct kobject *kobj,
|
static ssize_t use_zero_page_show(struct kobject *kobj,
|
||||||
struct kobj_attribute *attr, char *buf)
|
struct kobj_attribute *attr, char *buf)
|
||||||
{
|
{
|
||||||
return single_hugepage_flag_show(kobj, attr, buf,
|
return single_hugepage_flag_show(kobj, attr, buf,
|
||||||
TRANSPARENT_HUGEPAGE_USE_ZERO_PAGE_FLAG);
|
TRANSPARENT_HUGEPAGE_USE_ZERO_PAGE_FLAG);
|
||||||
}
|
}
|
||||||
static ssize_t use_zero_page_store(struct kobject *kobj,
|
static ssize_t use_zero_page_store(struct kobject *kobj,
|
||||||
struct kobj_attribute *attr, const char *buf, size_t count)
|
struct kobj_attribute *attr, const char *buf, size_t count)
|
||||||
@ -296,9 +300,9 @@ static struct kobj_attribute use_zero_page_attr =
|
|||||||
__ATTR(use_zero_page, 0644, use_zero_page_show, use_zero_page_store);
|
__ATTR(use_zero_page, 0644, use_zero_page_show, use_zero_page_store);
|
||||||
|
|
||||||
static ssize_t hpage_pmd_size_show(struct kobject *kobj,
|
static ssize_t hpage_pmd_size_show(struct kobject *kobj,
|
||||||
struct kobj_attribute *attr, char *buf)
|
struct kobj_attribute *attr, char *buf)
|
||||||
{
|
{
|
||||||
return sprintf(buf, "%lu\n", HPAGE_PMD_SIZE);
|
return sysfs_emit(buf, "%lu\n", HPAGE_PMD_SIZE);
|
||||||
}
|
}
|
||||||
static struct kobj_attribute hpage_pmd_size_attr =
|
static struct kobj_attribute hpage_pmd_size_attr =
|
||||||
__ATTR_RO(hpage_pmd_size);
|
__ATTR_RO(hpage_pmd_size);
|
||||||
|
13
mm/hugetlb.c
13
mm/hugetlb.c
@ -2760,7 +2760,7 @@ static ssize_t nr_hugepages_show_common(struct kobject *kobj,
|
|||||||
else
|
else
|
||||||
nr_huge_pages = h->nr_huge_pages_node[nid];
|
nr_huge_pages = h->nr_huge_pages_node[nid];
|
||||||
|
|
||||||
return sprintf(buf, "%lu\n", nr_huge_pages);
|
return sysfs_emit(buf, "%lu\n", nr_huge_pages);
|
||||||
}
|
}
|
||||||
|
|
||||||
static ssize_t __nr_hugepages_store_common(bool obey_mempolicy,
|
static ssize_t __nr_hugepages_store_common(bool obey_mempolicy,
|
||||||
@ -2833,7 +2833,8 @@ HSTATE_ATTR(nr_hugepages);
|
|||||||
* huge page alloc/free.
|
* huge page alloc/free.
|
||||||
*/
|
*/
|
||||||
static ssize_t nr_hugepages_mempolicy_show(struct kobject *kobj,
|
static ssize_t nr_hugepages_mempolicy_show(struct kobject *kobj,
|
||||||
struct kobj_attribute *attr, char *buf)
|
struct kobj_attribute *attr,
|
||||||
|
char *buf)
|
||||||
{
|
{
|
||||||
return nr_hugepages_show_common(kobj, attr, buf);
|
return nr_hugepages_show_common(kobj, attr, buf);
|
||||||
}
|
}
|
||||||
@ -2851,7 +2852,7 @@ static ssize_t nr_overcommit_hugepages_show(struct kobject *kobj,
|
|||||||
struct kobj_attribute *attr, char *buf)
|
struct kobj_attribute *attr, char *buf)
|
||||||
{
|
{
|
||||||
struct hstate *h = kobj_to_hstate(kobj, NULL);
|
struct hstate *h = kobj_to_hstate(kobj, NULL);
|
||||||
return sprintf(buf, "%lu\n", h->nr_overcommit_huge_pages);
|
return sysfs_emit(buf, "%lu\n", h->nr_overcommit_huge_pages);
|
||||||
}
|
}
|
||||||
|
|
||||||
static ssize_t nr_overcommit_hugepages_store(struct kobject *kobj,
|
static ssize_t nr_overcommit_hugepages_store(struct kobject *kobj,
|
||||||
@ -2889,7 +2890,7 @@ static ssize_t free_hugepages_show(struct kobject *kobj,
|
|||||||
else
|
else
|
||||||
free_huge_pages = h->free_huge_pages_node[nid];
|
free_huge_pages = h->free_huge_pages_node[nid];
|
||||||
|
|
||||||
return sprintf(buf, "%lu\n", free_huge_pages);
|
return sysfs_emit(buf, "%lu\n", free_huge_pages);
|
||||||
}
|
}
|
||||||
HSTATE_ATTR_RO(free_hugepages);
|
HSTATE_ATTR_RO(free_hugepages);
|
||||||
|
|
||||||
@ -2897,7 +2898,7 @@ static ssize_t resv_hugepages_show(struct kobject *kobj,
|
|||||||
struct kobj_attribute *attr, char *buf)
|
struct kobj_attribute *attr, char *buf)
|
||||||
{
|
{
|
||||||
struct hstate *h = kobj_to_hstate(kobj, NULL);
|
struct hstate *h = kobj_to_hstate(kobj, NULL);
|
||||||
return sprintf(buf, "%lu\n", h->resv_huge_pages);
|
return sysfs_emit(buf, "%lu\n", h->resv_huge_pages);
|
||||||
}
|
}
|
||||||
HSTATE_ATTR_RO(resv_hugepages);
|
HSTATE_ATTR_RO(resv_hugepages);
|
||||||
|
|
||||||
@ -2914,7 +2915,7 @@ static ssize_t surplus_hugepages_show(struct kobject *kobj,
|
|||||||
else
|
else
|
||||||
surplus_huge_pages = h->surplus_huge_pages_node[nid];
|
surplus_huge_pages = h->surplus_huge_pages_node[nid];
|
||||||
|
|
||||||
return sprintf(buf, "%lu\n", surplus_huge_pages);
|
return sysfs_emit(buf, "%lu\n", surplus_huge_pages);
|
||||||
}
|
}
|
||||||
HSTATE_ATTR_RO(surplus_hugepages);
|
HSTATE_ATTR_RO(surplus_hugepages);
|
||||||
|
|
||||||
|
@ -126,7 +126,7 @@ static ssize_t scan_sleep_millisecs_show(struct kobject *kobj,
|
|||||||
struct kobj_attribute *attr,
|
struct kobj_attribute *attr,
|
||||||
char *buf)
|
char *buf)
|
||||||
{
|
{
|
||||||
return sprintf(buf, "%u\n", khugepaged_scan_sleep_millisecs);
|
return sysfs_emit(buf, "%u\n", khugepaged_scan_sleep_millisecs);
|
||||||
}
|
}
|
||||||
|
|
||||||
static ssize_t scan_sleep_millisecs_store(struct kobject *kobj,
|
static ssize_t scan_sleep_millisecs_store(struct kobject *kobj,
|
||||||
@ -154,7 +154,7 @@ static ssize_t alloc_sleep_millisecs_show(struct kobject *kobj,
|
|||||||
struct kobj_attribute *attr,
|
struct kobj_attribute *attr,
|
||||||
char *buf)
|
char *buf)
|
||||||
{
|
{
|
||||||
return sprintf(buf, "%u\n", khugepaged_alloc_sleep_millisecs);
|
return sysfs_emit(buf, "%u\n", khugepaged_alloc_sleep_millisecs);
|
||||||
}
|
}
|
||||||
|
|
||||||
static ssize_t alloc_sleep_millisecs_store(struct kobject *kobj,
|
static ssize_t alloc_sleep_millisecs_store(struct kobject *kobj,
|
||||||
@ -182,7 +182,7 @@ static ssize_t pages_to_scan_show(struct kobject *kobj,
|
|||||||
struct kobj_attribute *attr,
|
struct kobj_attribute *attr,
|
||||||
char *buf)
|
char *buf)
|
||||||
{
|
{
|
||||||
return sprintf(buf, "%u\n", khugepaged_pages_to_scan);
|
return sysfs_emit(buf, "%u\n", khugepaged_pages_to_scan);
|
||||||
}
|
}
|
||||||
static ssize_t pages_to_scan_store(struct kobject *kobj,
|
static ssize_t pages_to_scan_store(struct kobject *kobj,
|
||||||
struct kobj_attribute *attr,
|
struct kobj_attribute *attr,
|
||||||
@ -207,7 +207,7 @@ static ssize_t pages_collapsed_show(struct kobject *kobj,
|
|||||||
struct kobj_attribute *attr,
|
struct kobj_attribute *attr,
|
||||||
char *buf)
|
char *buf)
|
||||||
{
|
{
|
||||||
return sprintf(buf, "%u\n", khugepaged_pages_collapsed);
|
return sysfs_emit(buf, "%u\n", khugepaged_pages_collapsed);
|
||||||
}
|
}
|
||||||
static struct kobj_attribute pages_collapsed_attr =
|
static struct kobj_attribute pages_collapsed_attr =
|
||||||
__ATTR_RO(pages_collapsed);
|
__ATTR_RO(pages_collapsed);
|
||||||
@ -216,7 +216,7 @@ static ssize_t full_scans_show(struct kobject *kobj,
|
|||||||
struct kobj_attribute *attr,
|
struct kobj_attribute *attr,
|
||||||
char *buf)
|
char *buf)
|
||||||
{
|
{
|
||||||
return sprintf(buf, "%u\n", khugepaged_full_scans);
|
return sysfs_emit(buf, "%u\n", khugepaged_full_scans);
|
||||||
}
|
}
|
||||||
static struct kobj_attribute full_scans_attr =
|
static struct kobj_attribute full_scans_attr =
|
||||||
__ATTR_RO(full_scans);
|
__ATTR_RO(full_scans);
|
||||||
@ -225,7 +225,7 @@ static ssize_t khugepaged_defrag_show(struct kobject *kobj,
|
|||||||
struct kobj_attribute *attr, char *buf)
|
struct kobj_attribute *attr, char *buf)
|
||||||
{
|
{
|
||||||
return single_hugepage_flag_show(kobj, attr, buf,
|
return single_hugepage_flag_show(kobj, attr, buf,
|
||||||
TRANSPARENT_HUGEPAGE_DEFRAG_KHUGEPAGED_FLAG);
|
TRANSPARENT_HUGEPAGE_DEFRAG_KHUGEPAGED_FLAG);
|
||||||
}
|
}
|
||||||
static ssize_t khugepaged_defrag_store(struct kobject *kobj,
|
static ssize_t khugepaged_defrag_store(struct kobject *kobj,
|
||||||
struct kobj_attribute *attr,
|
struct kobj_attribute *attr,
|
||||||
@ -250,7 +250,7 @@ static ssize_t khugepaged_max_ptes_none_show(struct kobject *kobj,
|
|||||||
struct kobj_attribute *attr,
|
struct kobj_attribute *attr,
|
||||||
char *buf)
|
char *buf)
|
||||||
{
|
{
|
||||||
return sprintf(buf, "%u\n", khugepaged_max_ptes_none);
|
return sysfs_emit(buf, "%u\n", khugepaged_max_ptes_none);
|
||||||
}
|
}
|
||||||
static ssize_t khugepaged_max_ptes_none_store(struct kobject *kobj,
|
static ssize_t khugepaged_max_ptes_none_store(struct kobject *kobj,
|
||||||
struct kobj_attribute *attr,
|
struct kobj_attribute *attr,
|
||||||
@ -275,7 +275,7 @@ static ssize_t khugepaged_max_ptes_swap_show(struct kobject *kobj,
|
|||||||
struct kobj_attribute *attr,
|
struct kobj_attribute *attr,
|
||||||
char *buf)
|
char *buf)
|
||||||
{
|
{
|
||||||
return sprintf(buf, "%u\n", khugepaged_max_ptes_swap);
|
return sysfs_emit(buf, "%u\n", khugepaged_max_ptes_swap);
|
||||||
}
|
}
|
||||||
|
|
||||||
static ssize_t khugepaged_max_ptes_swap_store(struct kobject *kobj,
|
static ssize_t khugepaged_max_ptes_swap_store(struct kobject *kobj,
|
||||||
@ -299,10 +299,10 @@ static struct kobj_attribute khugepaged_max_ptes_swap_attr =
|
|||||||
khugepaged_max_ptes_swap_store);
|
khugepaged_max_ptes_swap_store);
|
||||||
|
|
||||||
static ssize_t khugepaged_max_ptes_shared_show(struct kobject *kobj,
|
static ssize_t khugepaged_max_ptes_shared_show(struct kobject *kobj,
|
||||||
struct kobj_attribute *attr,
|
struct kobj_attribute *attr,
|
||||||
char *buf)
|
char *buf)
|
||||||
{
|
{
|
||||||
return sprintf(buf, "%u\n", khugepaged_max_ptes_shared);
|
return sysfs_emit(buf, "%u\n", khugepaged_max_ptes_shared);
|
||||||
}
|
}
|
||||||
|
|
||||||
static ssize_t khugepaged_max_ptes_shared_store(struct kobject *kobj,
|
static ssize_t khugepaged_max_ptes_shared_store(struct kobject *kobj,
|
||||||
|
32
mm/ksm.c
32
mm/ksm.c
@ -2833,7 +2833,7 @@ static void wait_while_offlining(void)
|
|||||||
static ssize_t sleep_millisecs_show(struct kobject *kobj,
|
static ssize_t sleep_millisecs_show(struct kobject *kobj,
|
||||||
struct kobj_attribute *attr, char *buf)
|
struct kobj_attribute *attr, char *buf)
|
||||||
{
|
{
|
||||||
return sprintf(buf, "%u\n", ksm_thread_sleep_millisecs);
|
return sysfs_emit(buf, "%u\n", ksm_thread_sleep_millisecs);
|
||||||
}
|
}
|
||||||
|
|
||||||
static ssize_t sleep_millisecs_store(struct kobject *kobj,
|
static ssize_t sleep_millisecs_store(struct kobject *kobj,
|
||||||
@ -2857,7 +2857,7 @@ KSM_ATTR(sleep_millisecs);
|
|||||||
static ssize_t pages_to_scan_show(struct kobject *kobj,
|
static ssize_t pages_to_scan_show(struct kobject *kobj,
|
||||||
struct kobj_attribute *attr, char *buf)
|
struct kobj_attribute *attr, char *buf)
|
||||||
{
|
{
|
||||||
return sprintf(buf, "%u\n", ksm_thread_pages_to_scan);
|
return sysfs_emit(buf, "%u\n", ksm_thread_pages_to_scan);
|
||||||
}
|
}
|
||||||
|
|
||||||
static ssize_t pages_to_scan_store(struct kobject *kobj,
|
static ssize_t pages_to_scan_store(struct kobject *kobj,
|
||||||
@ -2880,7 +2880,7 @@ KSM_ATTR(pages_to_scan);
|
|||||||
static ssize_t run_show(struct kobject *kobj, struct kobj_attribute *attr,
|
static ssize_t run_show(struct kobject *kobj, struct kobj_attribute *attr,
|
||||||
char *buf)
|
char *buf)
|
||||||
{
|
{
|
||||||
return sprintf(buf, "%lu\n", ksm_run);
|
return sysfs_emit(buf, "%lu\n", ksm_run);
|
||||||
}
|
}
|
||||||
|
|
||||||
static ssize_t run_store(struct kobject *kobj, struct kobj_attribute *attr,
|
static ssize_t run_store(struct kobject *kobj, struct kobj_attribute *attr,
|
||||||
@ -2927,9 +2927,9 @@ KSM_ATTR(run);
|
|||||||
|
|
||||||
#ifdef CONFIG_NUMA
|
#ifdef CONFIG_NUMA
|
||||||
static ssize_t merge_across_nodes_show(struct kobject *kobj,
|
static ssize_t merge_across_nodes_show(struct kobject *kobj,
|
||||||
struct kobj_attribute *attr, char *buf)
|
struct kobj_attribute *attr, char *buf)
|
||||||
{
|
{
|
||||||
return sprintf(buf, "%u\n", ksm_merge_across_nodes);
|
return sysfs_emit(buf, "%u\n", ksm_merge_across_nodes);
|
||||||
}
|
}
|
||||||
|
|
||||||
static ssize_t merge_across_nodes_store(struct kobject *kobj,
|
static ssize_t merge_across_nodes_store(struct kobject *kobj,
|
||||||
@ -2984,9 +2984,9 @@ KSM_ATTR(merge_across_nodes);
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
static ssize_t use_zero_pages_show(struct kobject *kobj,
|
static ssize_t use_zero_pages_show(struct kobject *kobj,
|
||||||
struct kobj_attribute *attr, char *buf)
|
struct kobj_attribute *attr, char *buf)
|
||||||
{
|
{
|
||||||
return sprintf(buf, "%u\n", ksm_use_zero_pages);
|
return sysfs_emit(buf, "%u\n", ksm_use_zero_pages);
|
||||||
}
|
}
|
||||||
static ssize_t use_zero_pages_store(struct kobject *kobj,
|
static ssize_t use_zero_pages_store(struct kobject *kobj,
|
||||||
struct kobj_attribute *attr,
|
struct kobj_attribute *attr,
|
||||||
@ -3008,7 +3008,7 @@ KSM_ATTR(use_zero_pages);
|
|||||||
static ssize_t max_page_sharing_show(struct kobject *kobj,
|
static ssize_t max_page_sharing_show(struct kobject *kobj,
|
||||||
struct kobj_attribute *attr, char *buf)
|
struct kobj_attribute *attr, char *buf)
|
||||||
{
|
{
|
||||||
return sprintf(buf, "%u\n", ksm_max_page_sharing);
|
return sysfs_emit(buf, "%u\n", ksm_max_page_sharing);
|
||||||
}
|
}
|
||||||
|
|
||||||
static ssize_t max_page_sharing_store(struct kobject *kobj,
|
static ssize_t max_page_sharing_store(struct kobject *kobj,
|
||||||
@ -3049,21 +3049,21 @@ KSM_ATTR(max_page_sharing);
|
|||||||
static ssize_t pages_shared_show(struct kobject *kobj,
|
static ssize_t pages_shared_show(struct kobject *kobj,
|
||||||
struct kobj_attribute *attr, char *buf)
|
struct kobj_attribute *attr, char *buf)
|
||||||
{
|
{
|
||||||
return sprintf(buf, "%lu\n", ksm_pages_shared);
|
return sysfs_emit(buf, "%lu\n", ksm_pages_shared);
|
||||||
}
|
}
|
||||||
KSM_ATTR_RO(pages_shared);
|
KSM_ATTR_RO(pages_shared);
|
||||||
|
|
||||||
static ssize_t pages_sharing_show(struct kobject *kobj,
|
static ssize_t pages_sharing_show(struct kobject *kobj,
|
||||||
struct kobj_attribute *attr, char *buf)
|
struct kobj_attribute *attr, char *buf)
|
||||||
{
|
{
|
||||||
return sprintf(buf, "%lu\n", ksm_pages_sharing);
|
return sysfs_emit(buf, "%lu\n", ksm_pages_sharing);
|
||||||
}
|
}
|
||||||
KSM_ATTR_RO(pages_sharing);
|
KSM_ATTR_RO(pages_sharing);
|
||||||
|
|
||||||
static ssize_t pages_unshared_show(struct kobject *kobj,
|
static ssize_t pages_unshared_show(struct kobject *kobj,
|
||||||
struct kobj_attribute *attr, char *buf)
|
struct kobj_attribute *attr, char *buf)
|
||||||
{
|
{
|
||||||
return sprintf(buf, "%lu\n", ksm_pages_unshared);
|
return sysfs_emit(buf, "%lu\n", ksm_pages_unshared);
|
||||||
}
|
}
|
||||||
KSM_ATTR_RO(pages_unshared);
|
KSM_ATTR_RO(pages_unshared);
|
||||||
|
|
||||||
@ -3080,21 +3080,21 @@ static ssize_t pages_volatile_show(struct kobject *kobj,
|
|||||||
*/
|
*/
|
||||||
if (ksm_pages_volatile < 0)
|
if (ksm_pages_volatile < 0)
|
||||||
ksm_pages_volatile = 0;
|
ksm_pages_volatile = 0;
|
||||||
return sprintf(buf, "%ld\n", ksm_pages_volatile);
|
return sysfs_emit(buf, "%ld\n", ksm_pages_volatile);
|
||||||
}
|
}
|
||||||
KSM_ATTR_RO(pages_volatile);
|
KSM_ATTR_RO(pages_volatile);
|
||||||
|
|
||||||
static ssize_t stable_node_dups_show(struct kobject *kobj,
|
static ssize_t stable_node_dups_show(struct kobject *kobj,
|
||||||
struct kobj_attribute *attr, char *buf)
|
struct kobj_attribute *attr, char *buf)
|
||||||
{
|
{
|
||||||
return sprintf(buf, "%lu\n", ksm_stable_node_dups);
|
return sysfs_emit(buf, "%lu\n", ksm_stable_node_dups);
|
||||||
}
|
}
|
||||||
KSM_ATTR_RO(stable_node_dups);
|
KSM_ATTR_RO(stable_node_dups);
|
||||||
|
|
||||||
static ssize_t stable_node_chains_show(struct kobject *kobj,
|
static ssize_t stable_node_chains_show(struct kobject *kobj,
|
||||||
struct kobj_attribute *attr, char *buf)
|
struct kobj_attribute *attr, char *buf)
|
||||||
{
|
{
|
||||||
return sprintf(buf, "%lu\n", ksm_stable_node_chains);
|
return sysfs_emit(buf, "%lu\n", ksm_stable_node_chains);
|
||||||
}
|
}
|
||||||
KSM_ATTR_RO(stable_node_chains);
|
KSM_ATTR_RO(stable_node_chains);
|
||||||
|
|
||||||
@ -3103,7 +3103,7 @@ stable_node_chains_prune_millisecs_show(struct kobject *kobj,
|
|||||||
struct kobj_attribute *attr,
|
struct kobj_attribute *attr,
|
||||||
char *buf)
|
char *buf)
|
||||||
{
|
{
|
||||||
return sprintf(buf, "%u\n", ksm_stable_node_chains_prune_millisecs);
|
return sysfs_emit(buf, "%u\n", ksm_stable_node_chains_prune_millisecs);
|
||||||
}
|
}
|
||||||
|
|
||||||
static ssize_t
|
static ssize_t
|
||||||
@ -3127,7 +3127,7 @@ KSM_ATTR(stable_node_chains_prune_millisecs);
|
|||||||
static ssize_t full_scans_show(struct kobject *kobj,
|
static ssize_t full_scans_show(struct kobject *kobj,
|
||||||
struct kobj_attribute *attr, char *buf)
|
struct kobj_attribute *attr, char *buf)
|
||||||
{
|
{
|
||||||
return sprintf(buf, "%lu\n", ksm_scan.seqnr);
|
return sysfs_emit(buf, "%lu\n", ksm_scan.seqnr);
|
||||||
}
|
}
|
||||||
KSM_ATTR_RO(full_scans);
|
KSM_ATTR_RO(full_scans);
|
||||||
|
|
||||||
|
@ -902,7 +902,8 @@ struct page *swapin_readahead(swp_entry_t entry, gfp_t gfp_mask,
|
|||||||
static ssize_t vma_ra_enabled_show(struct kobject *kobj,
|
static ssize_t vma_ra_enabled_show(struct kobject *kobj,
|
||||||
struct kobj_attribute *attr, char *buf)
|
struct kobj_attribute *attr, char *buf)
|
||||||
{
|
{
|
||||||
return sprintf(buf, "%s\n", enable_vma_readahead ? "true" : "false");
|
return sysfs_emit(buf, "%s\n",
|
||||||
|
enable_vma_readahead ? "true" : "false");
|
||||||
}
|
}
|
||||||
static ssize_t vma_ra_enabled_store(struct kobject *kobj,
|
static ssize_t vma_ra_enabled_store(struct kobject *kobj,
|
||||||
struct kobj_attribute *attr,
|
struct kobj_attribute *attr,
|
||||||
|
Loading…
Reference in New Issue
Block a user