Subject: Re: [RFC][PATCH] iproute: Faster ip link add, set and delete

From: [email-masked] (Eric W. Biederman)
Date: Wed, 27 Mar 2013 22:00:53 -0700

Serge Hallyn <[email-masked]> writes:

> Quoting Eric W. Biederman ([email-masked]):
>> Serge Hallyn <[email-masked]> writes:
>> 
>> > Quoting Eric W. Biederman ([email-masked]):
>> >> Stephen Hemminger <[email-masked]> writes:
>> >> 
>> >> > If you need to do lots of operations the --batch mode will be significantly faster.
>> >> > One command start and one link map.
>> >> 
>> >> The problem in this case as I understand it is lots of independent
>> >> operations. Now maybe lxc should not shell out to ip and perform the
>> >> work itself.
>> >
>> > fwiw lxc uses netlink to create new veths, and picks random names with
>> > mktemp() ahead of time.
>> 
>> I am puzzled where does the slownes in iproute2 come into play?
>
> Benoit originally reported slowness when starting >1500 containers.  I
> asked him to run a few manual tests to figure out what was taking the
> time.  Manually creating a large # of veths was an obvious test, and
> one which showed poorly scaling performance.

Apparently iproute is involved somehwere as when he tested with a
patched iproute (as you asked him to) the lxc startup slowdown was
gone.

> May well be there are other things slowing down lxc of course.

The evidence indicates it was iproute being called somewhere...

Eric