[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <5E68859A.9050107@samsung.com>
Date: Wed, 11 Mar 2020 15:30:50 +0900
From: Jaewon Kim <jaewon31.kim@...sung.com>
To: Sergey Senozhatsky <sergey.senozhatsky.work@...il.com>
Cc: adobriyan@...il.com, akpm@...ux-foundation.org, labbott@...hat.com,
sumit.semwal@...aro.org, minchan@...nel.org, ngupta@...are.org,
linux-mm@...ck.org, linux-kernel@...r.kernel.org,
jaewon31.kim@...il.com
Subject: Re: [RFC PATCH 1/3] proc/meminfo: introduce extra meminfo
On 2020년 03월 11일 15:25, Sergey Senozhatsky wrote:
> On (20/03/11 15:18), Sergey Senozhatsky wrote:
>> On (20/03/11 12:44), Jaewon Kim wrote:
>> [..]
>>> +#define NAME_SIZE 15
>>> +#define NAME_BUF_SIZE (NAME_SIZE + 2) /* ':' and '\0' */
>>> +
>>> +struct extra_meminfo {
>>> + struct list_head list;
>>> + atomic_long_t *val;
>>> + int shift_for_page;
>>> + char name[NAME_BUF_SIZE];
>>> + char name_pad[NAME_BUF_SIZE];
>>> +};
>>> +
>>> +int register_extra_meminfo(atomic_long_t *val, int shift, const char *name)
>>> +{
>>> + struct extra_meminfo *meminfo, *memtemp;
>>> + int len;
>>> + int error = 0;
>>> +
>>> + meminfo = kzalloc(sizeof(*meminfo), GFP_KERNEL);
>>> + if (!meminfo) {
>>> + error = -ENOMEM;
>>> + goto out;
>>> + }
>>> +
>>> + meminfo->val = val;
>>> + meminfo->shift_for_page = shift;
>>> + strncpy(meminfo->name, name, NAME_SIZE);
>>> + len = strlen(meminfo->name);
>>> + meminfo->name[len] = ':';
>>> + strncpy(meminfo->name_pad, meminfo->name, NAME_BUF_SIZE);
>> What happens if there is no NULL byte among the first NAME_SIZE bytes
>> of passed `name'?
> Ah. The buffer size is NAME_BUF_SIZE, so should be fine.
>
> -ss
Hello yes correct.
For your comment of 'spinlock', it may be changed to other lock like rw semaphore.
I think there are just couple of writers compared to many readers.
Thank you for your comment.
>
>
Powered by blists - more mailing lists