On Thu, Feb 01, 2018 at 03:27:14PM -0800, Eric Dumazet wrote: > Well, this memcg stuff is so confusing. > > My recollection is that we had : > > > https://git.kernel.org/pub/scm/linux/kernel/git/davem/net.git/commit/?id=d979a39d7242e0601bf9b60e89628fb8ac577179 > > https://git.kernel.org/pub/scm/linux/kernel/git/davem/net.git/commit/?id=75cb070960ade40fba5de32138390f3c85c90941 > > https://git.kernel.org/pub/scm/linux/kernel/git/davem/net.git/commit/?id=c0576e3975084d4699b7bfef578613fb8e1144f6 > > And commit a590b90d472f2c176c140576ee3ab44df7f67839 as well > > Honestly bug was closed months ago for us, based on stack traces on the wild. > > No C repro or whatever, but reproducing it would be a matter of > having a TCP listener constantly doing a > socket()/setsockopt(REUSEADDR)/bind()/listen()/close() in a loop, > while connections are attempted to the listening port.
Oh, I see... Then I think that we should return memcg_sk_alloc() back to the bh context, where cgroup_sk_alloc() is, and repeat all the tricks to avoid copying dead cgroups/memcg pointers. Do you agree? I'll try to master a patch and reproduce the issue. Thanks!