Thread (53 messages) 53 messages, 8 authors, 2011-05-10

Re: Scalability of interface creation and deletion

From: Paul E. McKenney <hidden>
Date: 2011-05-08 15:48:57

On Sun, May 08, 2011 at 04:17:42PM +0100, Alex Bligh wrote:
Paul,
quoted
quoted
No, I waited a few minutes after boot for the system to stabilize, and
all CPUs were definitely online.

The patch to the kernel I am running is below.
OK, interesting...

My guess is that you need to be using ktime_get_ts().  Isn't ktime_get()
subject to various sorts of adjustment?
It's Eric's code, not mine, but:

kernel/time/timekeeping.c suggests they do the same thing
(adjust xtime by wall_to_monotonic), just one returns a
struct timespec and the other returns a ktime_t.
quoted
quoted
quoted
quoted
There is nothing much going on these systems (idle, no other users,
just normal system daemons).
And normal system daemons might cause this, right?
Yes. Everything is normal, except I did
service udev stop
unshare -n bash
which together stop the system running interface scripts when
interfaces are created (as upstart and upstart-udev-bridge are
now integrated, you can't kill upstart, so you have to rely on
unshare -n to stop the events being propagated). That's just
to avoid measuring the time it takes to execute the scripts.
OK, so you really could be seeing grace periods started by these system
daemons.
In 50% of 200 calls? That seems pretty unlikely. I think it's more
likely to be the 6 jiffies per call to ensure cpus are idle,
plus the 3 calls per interface destroy.

If 6 jiffies per call to ensure cpus are idle is a fact of life,
then the question goes back to why interface removal is waiting
for rcu readers to be released synchronously, as opposed to
doing the update bits synchronously, then doing the reclaim
element (freeing the memory) afterwards using call_rcu.
This would speed things up considerably, assuming that there is no
other reason to block for an RCU grace period.

							Thanx, Paul
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help