On Sat, Nov 25, 2017 at 10:53 PM, David Miller <[email protected]> wrote:
> From: Tonghao Zhang <[email protected]>
> Date: Wed, 22 Nov 2017 17:51:25 -0800
>
>> This patch add a member in struct netns_core. And this is
>> a counter for socket_inuse in the _net_ namespace. The patch
>> will add/sub counter in the sk_alloc or sk_free. Because socket and
>> sock is in pair. It's a easy way to maintain the code and help
>> developer to review. More important, it avoids holding the _net_
>> namespace again.
>>
>> Signed-off-by: Martin Zhang <[email protected]>
>> Signed-off-by: Tonghao Zhang <[email protected]>
>
> First, it is extremely unclear why this is better. You do not explain
> the reason at all.
Sorry, I am so later to reply. I send the v5 and the comment may
explain the reason.
> Second:
>
>> @@ -2646,17 +2646,8 @@ static int __init sock_init(void)
>> #ifdef CONFIG_PROC_FS
>> void socket_seq_show(struct seq_file *seq)
>> {
>> - int cpu;
>> - int counter = 0;
>> -
>> - for_each_possible_cpu(cpu)
>> - counter += per_cpu(sockets_in_use, cpu);
>> -
>> - /* It can be negative, by the way. 8) */
>> - if (counter < 0)
>> - counter = 0;
>> -
>> - seq_printf(seq, "sockets: used %d\n", counter);
>
> You've deleted the only use of "sockets_in_use" but you have not
> removed that per-cpu variable and it's maintainence.
So sorry :(
> But do not even bother fixing this if you cannot explain properly
> why these changes are an improvement. I do not understant it,
> and until I do I cannot consider these changes seriously.
Yes, I should check the patch carefully and add more detail. I may do it better.
The v5 patch may be useful. Thanks so much.
> Thank you.