Activity log for bug #1226726

Date Who What changed Old value New value Message
2013-09-17 17:23:27 Chris J Arges bug added bug
2013-09-17 17:23:27 Chris J Arges attachment added graph.png https://bugs.launchpad.net/bugs/1226726/+attachment/3825673/+files/graph.png
2013-09-17 17:25:06 Chris J Arges attachment added test_ns.sh https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1226726/+attachment/3825692/+files/test_ns.sh
2013-09-17 17:25:37 Chris J Arges nominated for series Ubuntu Precise
2013-09-17 17:25:37 Chris J Arges bug task added linux (Ubuntu Precise)
2013-09-17 17:25:37 Chris J Arges nominated for series Ubuntu Quantal
2013-09-17 17:25:37 Chris J Arges bug task added linux (Ubuntu Quantal)
2013-09-17 17:25:37 Chris J Arges nominated for series Ubuntu Saucy
2013-09-17 17:25:37 Chris J Arges bug task added linux (Ubuntu Saucy)
2013-09-17 17:25:37 Chris J Arges nominated for series Ubuntu Raring
2013-09-17 17:25:37 Chris J Arges bug task added linux (Ubuntu Raring)
2013-09-17 17:25:45 Chris J Arges linux (Ubuntu Raring): assignee Chris J Arges (arges)
2013-09-17 17:25:47 Chris J Arges linux (Ubuntu Quantal): assignee Chris J Arges (arges)
2013-09-17 17:25:49 Chris J Arges linux (Ubuntu Precise): assignee Chris J Arges (arges)
2013-09-17 17:25:52 Chris J Arges linux (Ubuntu Precise): importance Undecided Medium
2013-09-17 17:25:55 Chris J Arges linux (Ubuntu Quantal): importance Undecided Medium
2013-09-17 17:25:57 Chris J Arges linux (Ubuntu Raring): importance Undecided Medium
2013-09-17 17:25:59 Chris J Arges linux (Ubuntu Saucy): importance Medium Undecided
2013-09-17 17:26:01 Chris J Arges linux (Ubuntu Saucy): assignee Chris J Arges (arges)
2013-09-17 17:26:03 Chris J Arges linux (Ubuntu Saucy): status New Fix Released
2013-09-17 17:26:12 Chris J Arges linux (Ubuntu Precise): status New In Progress
2013-09-17 17:26:13 Chris J Arges linux (Ubuntu Quantal): status New In Progress
2013-09-17 17:26:15 Chris J Arges linux (Ubuntu Raring): status New In Progress
2013-09-17 17:46:54 Chris J Arges linux (Ubuntu Precise): importance Medium High
2013-09-17 17:46:56 Chris J Arges linux (Ubuntu Raring): importance Medium High
2013-09-17 17:47:00 Chris J Arges linux (Ubuntu Quantal): importance Medium High
2013-09-30 18:17:47 Chris J Arges description Whenever one enters a network namespace via "ip netns exec foobar somecommand" there is a mount done of the appropriate device on /sys since "somecommand" needs to see namespace specific versions of /sys directories. When the ip process exits these mounts need to be torn down, and that requires a global write lock for vfsmount_lock (this is a single writer multiple reader lock). This has serious performance implications when the number of name spaces increase. The commit 84d17192 addresses this issue, and it is clear by running the attached testcase that it fixes performance issues when dealing with large numbers of namespaces. I've included a graph with the differences in performance between this fix and its parent commit to show the the improve in performance. The x-axis represents the number of namespaces and the y-axis is execution time in ms. After applying the patch the performance delays are not exponentially increasing. This affects 3.2/3.5/3.8 series kernels, as it was fixed in 3.10. SRU Justification: Impact: When creating thousands of network namespaces the delay in executing commands increases exponentially in kernels before 84d17192. Fix: In 84d17192 in the upstream kernel, locking code in fs/namespace.c is greatly improved resulting in much better performance when the number namespaces increase. Testcase: Below, test_ns.sh can be run and a graph can be compared between the existing version and the patched version. Additional Information: Because this is a change in the vfs layer, I ran the xfstests and compared before and after results of this patch. The patch did not create any additional failures in the generic xfstests. -- Whenever one enters a network namespace via "ip netns exec foobar somecommand" there is a mount done of the appropriate device on /sys since "somecommand" needs to see namespace specific versions of /sys directories. When the ip process exits these mounts need to be torn down, and that requires a global write lock for vfsmount_lock (this is a single writer multiple reader lock). This has serious performance implications when the number of name spaces increase. The commit 84d17192 addresses this issue, and it is clear by running the attached testcase that it fixes performance issues when dealing with large numbers of namespaces. I've included a graph with the differences in performance between this fix and its parent commit to show the the improve in performance. The x-axis represents the number of namespaces and the y-axis is execution time in ms. After applying the patch the performance delays are not exponentially increasing. This affects 3.2/3.5/3.8 series kernels, as it was fixed in 3.10.
2013-10-03 20:51:54 Chris J Arges description SRU Justification: Impact: When creating thousands of network namespaces the delay in executing commands increases exponentially in kernels before 84d17192. Fix: In 84d17192 in the upstream kernel, locking code in fs/namespace.c is greatly improved resulting in much better performance when the number namespaces increase. Testcase: Below, test_ns.sh can be run and a graph can be compared between the existing version and the patched version. Additional Information: Because this is a change in the vfs layer, I ran the xfstests and compared before and after results of this patch. The patch did not create any additional failures in the generic xfstests. -- Whenever one enters a network namespace via "ip netns exec foobar somecommand" there is a mount done of the appropriate device on /sys since "somecommand" needs to see namespace specific versions of /sys directories. When the ip process exits these mounts need to be torn down, and that requires a global write lock for vfsmount_lock (this is a single writer multiple reader lock). This has serious performance implications when the number of name spaces increase. The commit 84d17192 addresses this issue, and it is clear by running the attached testcase that it fixes performance issues when dealing with large numbers of namespaces. I've included a graph with the differences in performance between this fix and its parent commit to show the the improve in performance. The x-axis represents the number of namespaces and the y-axis is execution time in ms. After applying the patch the performance delays are not exponentially increasing. This affects 3.2/3.5/3.8 series kernels, as it was fixed in 3.10. SRU Justification: Impact: When creating thousands of network namespaces the delay in executing commands increases exponentially in kernels before 84d17192. Fix: In 84d17192 in the upstream kernel, locking code in fs/namespace.c is greatly improved resulting in much better performance when the number namespaces increase. Testcase: Below, test_ns.sh can be run and a graph can be compared between the existing version and the patched version. Additional Information: Because this is a change in the vfs layer, I ran the xfstests and compared before and after results of this patch. The patch did not create any additional failures in the generic xfstests. The quantal and raring solutions differ but are both based on the 84d17192 patch. The quantal solution does a backport of this patch instead of clean cherry-picks because of the amount of deps required to just use cherry-picks. The raring solution was able to be done with two clean cherry-picks and that's why that solution was chosen. -- Whenever one enters a network namespace via "ip netns exec foobar somecommand" there is a mount done of the appropriate device on /sys since "somecommand" needs to see namespace specific versions of /sys directories. When the ip process exits these mounts need to be torn down, and that requires a global write lock for vfsmount_lock (this is a single writer multiple reader lock). This has serious performance implications when the number of name spaces increase. The commit 84d17192 addresses this issue, and it is clear by running the attached testcase that it fixes performance issues when dealing with large numbers of namespaces. I've included a graph with the differences in performance between this fix and its parent commit to show the the improve in performance. The x-axis represents the number of namespaces and the y-axis is execution time in ms. After applying the patch the performance delays are not exponentially increasing. This affects 3.2/3.5/3.8 series kernels, as it was fixed in 3.10.
2013-10-04 16:03:44 Andy Whitcroft linux (Ubuntu Quantal): status In Progress Fix Committed
2013-10-04 16:03:46 Andy Whitcroft linux (Ubuntu Raring): status In Progress Fix Committed
2013-10-04 16:12:55 Chris J Arges linux (Ubuntu Precise): status In Progress Won't Fix
2013-10-04 16:12:58 Chris J Arges linux (Ubuntu Precise): assignee Chris J Arges (arges)
2013-10-08 20:28:14 Mark Russell bug added subscriber Mark Russell
2013-10-28 14:36:29 Brad Figg tags bot-stop-nagging bot-stop-nagging verification-needed-quantal
2013-10-28 14:37:20 Brad Figg tags bot-stop-nagging verification-needed-quantal bot-stop-nagging verification-needed-quantal verification-needed-raring
2013-11-01 20:39:12 Jonathan Davies tags bot-stop-nagging verification-needed-quantal verification-needed-raring bot-stop-nagging verification-done-quantal verification-needed-raring
2013-11-01 20:53:41 Jonathan Davies tags bot-stop-nagging verification-done-quantal verification-needed-raring bot-stop-nagging verification-done-quantal verification-done-raring
2013-11-08 00:35:21 Launchpad Janitor linux (Ubuntu Quantal): status Fix Committed Fix Released
2013-11-08 00:35:21 Launchpad Janitor cve linked 2013-1819
2013-11-08 00:35:21 Launchpad Janitor cve linked 2013-2888
2013-11-08 00:35:21 Launchpad Janitor cve linked 2013-2889
2013-11-08 00:35:21 Launchpad Janitor cve linked 2013-2892
2013-11-08 00:35:21 Launchpad Janitor cve linked 2013-2893
2013-11-08 00:35:21 Launchpad Janitor cve linked 2013-2895
2013-11-08 00:35:21 Launchpad Janitor cve linked 2013-2896
2013-11-08 00:35:21 Launchpad Janitor cve linked 2013-2897
2013-11-08 00:35:21 Launchpad Janitor cve linked 2013-2899
2013-11-08 00:36:40 Launchpad Janitor linux (Ubuntu Raring): status Fix Committed Fix Released
2013-11-08 00:36:40 Launchpad Janitor cve linked 2013-2147
2013-11-08 00:36:40 Launchpad Janitor cve linked 2013-2894
2013-11-08 00:36:40 Launchpad Janitor cve linked 2013-4343