On Sat, Nov 25, 2017 at 10:53 PM, David Miller <da...@davemloft.net> wrote: > From: Tonghao Zhang <xiangxia.m....@gmail.com> > 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 <zhangjunweimar...@didichuxing.com> >> Signed-off-by: Tonghao Zhang <zhangtong...@didichuxing.com> > > 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.