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

From: Serge Hallyn <[email-masked]>
Date: Thu, 28 Mar 2013 08:36:52 -0500

Quoting Eric W. Biederman ([email-masked]):
> 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...

Benoit can you tell us exactly what test you were running when you saw
the slowdown was gone?

-serge