• Pavel Emelyanov's avatar
    net: Pre-create nl diag sk · 3c7d01f6
    Pavel Emelyanov authored
    The setns() syscall (called by switch_ns()) can be extremely
    slow. If we call it two or more times from the same task the
    kernel will synchonously go on a very slow routine called
    synchronize_rcu() trying to put a reference on old namespaces.
    
    To avoid doing this more than once I propose to create all
    per-ns sockets in one place with one setns call. In this
    patch there's on nl diag socket used to collect other sockets
    is created this way.
    Signed-off-by: 's avatarPavel Emelyanov <xemul@parallels.com>
    3c7d01f6
sockets.h 2.48 KB