Re: [PATCH v5] mm: cma: support sysfs
From: Minchan Kim <minchan@kernel.org>
Date: 2021-03-24 03:32:24
Also in:
lkml
On Wed, Mar 24, 2021 at 03:02:24AM +0000, Matthew Wilcox wrote:
On Tue, Mar 23, 2021 at 12:50:50PM -0700, Minchan Kim wrote:quoted
+ /* the number of CMA page successful allocations */ + atomic64_t nr_pages_succeeded;quoted
+void cma_sysfs_alloc_pages_count(struct cma *cma, size_t count) +{ + atomic64_add(count, &cma->nr_pages_succeeded); +}I don't understand. A size_t is a byte count. But the variable is called 'nr_pages'. So which is it, a byte count or a page count?
It's page count. I followed the cma_alloc interface since it has size_t count variable for nr_pages. Let's go with unsigned long nr_pages: void cma_sysfs_alloc_pages_count(struct cma *cma, unsigned long nr_pages)
quoted
+static ssize_t alloc_pages_success_show(struct kobject *kobj, + struct kobj_attribute *attr, char *buf) +{ + struct cma_kobject *cma_kobj = container_of(kobj, + struct cma_kobject, kobj); + struct cma *cma = cma_kobj->cma; + + return sysfs_emit(buf, "%llu\n", + atomic64_read(&cma->nr_pages_succeeded));... if it's in bytes, it should probably be reported in kilobytes and be suffixed with a 'K' like many other stats.