On 12/7/23 16:13, HAGIO KAZUHITO(萩尾 一仁) wrote:
On 2023/12/07 16:57, Lianbo Jiang wrote:
>>> (gdb) p nr_swapper_spaces
>>> $4 = <optimized out>
>> Thank you folks, for the various information.
>>
>> Apparently the data of nr_swapper_spaces exists in the kernel, but its
>> symbol does not exist. I think this means that we cannot calculate the
>> number of pages from swapper_spaces[] with such a debuginfo, because we
>> cannot get the array size of a swapper_spaces entry.
> That's correct, Kazu.
>
>
>> So I'd like to go with Johan's patch.
>>
>> cc -c -g -DX86_64 -DLZO -DSNAPPY -DGDB_10_2 memory.c -Wall -O2
>> -Wstrict-prototypes -Wmissing-prototypes -fstack-protector
>> -Wformat-security
>> memory.c: In function dump_kmeminfo:
>> memory.c:8612:50: warning: pointer targets in passing argument 2 of
>> dump_vm_stat differ in signedness [-Wpointer-sign]
>> 8612 | if (dump_vm_stat("NR_SWAPCACHE",
>> &swapper_space_nrpages, 0)) {
>> |
>> ^~~~~~~~~~~~~~~~~~~~~~
>> | |
>> | ulong * {aka
>> long unsigned int *}
>> memory.c:298:33: note: expected long int * but argument is of type ulong
>> * {aka long unsigned int *}
>> 298 | static int dump_vm_stat(char *, long *, ulong);
>> | ^~~~~~
>>
>> So with the following,
>>
>> - ulong swapper_space_nrpages;
>> + long swapper_space_nrpages;
> Looks good. Maybe the patch log also needs to be improved a little bit.
>
> Although the checking of kernel version looks not very good, seems no
> better way.
hmm, this sounds strange. My ack is for Johan's patch (attached), which
Ah, I did not see the attached patch. Thank you for pointing out this
issue, Kazu.
does not have kernel version check, is this ok? sorry for confusing.
Sounds good idea if there is no kernel version check.
I still have one question: the following two commits were introduced
separately in kernel 5.12 and 4.11.
b6038942480e ("mm: memcg: add swapcache stat for memcg v2")
4b3ef9daa4fc ("mm/swap: split swap cache into 64MB trunks")
It indicates that the attached patch may not work well between kernel
4.11 and 5.12, is it possible to encounter the similar issue(the
nr_swapper_spaces may be optimized away)?
Thanks
Lianbo
Johan, your patch does not have your Signed-off-by tag, could I have it?
Thanks,
Kazu