lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAHvAHW8aq0Tb0tnNjQAySyDe_pwxHk2-+EHr_yPavuz_aKqAyw@mail.gmail.com>
Date:   Sun, 2 Jul 2017 00:50:08 -0500
From:   Leon Yang <leon.gh.yang@...il.com>
To:     netdev@...r.kernel.org
Cc:     davem@...emloft.net
Subject: Way to Know When cleanup_net() Calls Are Done

Hi,

I am measuring the time cost of parallel creation and destruction of
net namespaces.

As cleanup_net() is invoked from workqueue, the exit of a net
namespace does not mean the cleanup is completed. Therefore I use
ftrace to count the number of net_drop_ns() are called. But I found
that the number of namespaces created does not match with the number
of net_drop_ns() calls even after a long wait.

Can you give some hints on why this is happening? and what would be
the correct way to know when the last cleanup_net() is done?

Thanks,

Leon

*psudo code of my program:

n = 0;
while (1) {
        pid = fork();
        if (pid == 0) {
                unshare(CLONE_NEWNET);
                exit(0);
        } else if (/* run out of PID */) {
                /* wait for all the children */
                /* get total time for n creations+destructions */
                n = 0;
        } else { /* do nothing */ }
        n++;
}

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ