[Bug 1272414] Re: extremely slow sudo with many network interfaces due to slow getifaddrs() syscall perf

Chris J Arges 1272414 at bugs.launchpad.net
Fri Jun 13 20:31:28 UTC 2014


** Also affects: sudo (Ubuntu Precise)
   Importance: Undecided
       Status: New

-- 
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to sudo in Ubuntu.
https://bugs.launchpad.net/bugs/1272414

Title:
  extremely slow sudo with many network interfaces due to slow
  getifaddrs() syscall perf

Status in “sudo” package in Ubuntu:
  Fix Released
Status in “sudo” source package in Precise:
  New

Bug description:
  Sudo performance degrades when many network interfaces exist.   This is due to a slow getifaddrs() syscall performance on linux.   Upsteam has added the ability to disable the checking the network interfaces with a runtime option in version 1.8.10 with commit  http://www.sudo.ws/repos/sudo/rev/e9dc28c7db60.
  Upstream discussion: http://www.sudo.ws/pipermail/sudo-workers/2014-January/000826.html

  This is on Ubuntu 12.04 w/ Sudo 1.8.3p1-1ubuntu3.4.  The fix does need to land on trusty before it can be SRUed.
   
  [Impact] 
  Test case results:
  w/ sudo: At the end of the test per the real time per sudo command is as high as .16 and takes almost 13 minutes.
  w/ root: At the end of the test the real time per command is .02/.03 and takes about 7 minutes total.

  
  [Test Case]
  #!/bin/bash
  SUDO=sudo
  for i in `seq 1 $1`
  do
  j=`printf %.4d $i`
  $SUDO ip netns add bar${j}
  $SUDO ip netns exec bar${j} ip link set lo up
  $SUDO ip netns exec bar${j} sysctl -w net.ipv4.ip_forward=1 > /dev/null
  $SUDO ip link add qroutside${j} type veth peer name qrinside${j} netns bar${j}
  /usr/bin/time -f "%e" $SUDO ip link add qgoutside${j} type veth peer name qginside${j} netns bar${j}
  done
  echo Created $j

  1. Run with argument 2000.
  2. Reboot
  3. Change line to SUDO= and then run as root still with argument 2000.
   
  [Regression Potential]
  This is adding one runtime variable, that was previously only a compile time variable.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/sudo/+bug/1272414/+subscriptions



More information about the foundations-bugs mailing list