]> git.baikalelectronics.ru Git - kernel.git/commit
ipv4: Cache local output routes
authorYan, Zheng <zheng.z.yan@intel.com>
Sun, 12 Aug 2012 20:09:59 +0000 (20:09 +0000)
committerDavid S. Miller <davem@davemloft.net>
Tue, 14 Aug 2012 21:45:07 +0000 (14:45 -0700)
commitbe585bf8a9a38b15b9c3d8dcc37aaecaa63365cc
tree3d40c40d31d9556c095a9e50d54528886fdbcc79
parent5b1b87ea26246f09d8912f7952289435d0d7649d
ipv4: Cache local output routes

Commit 4c2338c34b5b12c causes big drop of UDP loop back performance.
The cause of the regression is that we do not cache the local output
routes. Each time we send a datagram from unconnected UDP socket,
the kernel allocates a dst_entry and adds it to the rt_uncached_list.
It creates lock contention on the rt_uncached_lock.

Reported-by: Alex Shi <alex.shi@intel.com>
Signed-off-by: Yan, Zheng <zheng.z.yan@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/ipv4/route.c