Back to Home / #uml / 2007 / 04 / Prev Day | Next Day
#uml IRC Logs for 2007-04-26

---Logopened Thu Apr 26 00:00:40 2007
04:07|-|polyonymous [] has quit [Ping timeout: 480 seconds]
04:18|-|polyonymous [] has joined #uml
04:22|-|motp [~motp@] has joined #uml
05:25|-|Ancalagon [] has joined #uml
06:15|-|ant384 [~zen@] has quit [Server closed connection]
06:15|-|ant384 [~zen@] has joined #uml
06:53|-|baroni [] has quit [Ping timeout: 480 seconds]
07:06|-|baroni [] has joined #uml
07:09|-|krau [~cktakahas@] has joined #uml
07:49|-|amitg [] has quit [Server closed connection]
07:49|-|amitg [] has joined #uml
07:56|-|nessie [] has quit [Server closed connection]
07:56|-|nessie [] has joined #uml
08:00|-|aroscha [] has joined #uml
08:12|-|silug [] has quit [Server closed connection]
08:12|-|silug [] has joined #uml
08:19|-|baroni [] has quit [Remote host closed the connection]
08:20|-|baroni [] has joined #uml
08:26|-|besonen_mobile [] has quit [Server closed connection]
08:26|-|besonen_mobile [] has joined #uml
08:27|-|Ancalagon [] has quit [Ping timeout: 480 seconds]
08:49|-|desaster [] has left #uml []
08:57|-|Ancalagon [] has joined #uml
09:44|-|Ancalagon [] has quit [Quit: ChatZilla [Firefox]]
10:08|-|aroscha [] has quit [Quit: aroscha]
10:32|-|jdike [] has joined #uml
10:32<jdike>Hi guys
10:32|-|hfb [] has joined #uml
10:33|-|hfb [] has left #uml []
10:44|-|aroscha [~aroscha@] has joined #uml
10:47<kokoko1>morning jdike
11:06|-|amitg [] has quit [Read error: Connection reset by peer]
11:06|-|da-x_work_ [] has joined #uml
11:12|-|aroscha [~aroscha@] has quit [Ping timeout: 480 seconds]
11:15<jdike>caker, there?
11:15|-|aroscha [] has joined #uml
11:20|-|motp [~motp@] has quit [Quit: Leaving]
11:22<caker>jdike: yes
11:27<jdike>any luck on reproducing that hang?
11:32<caker>he said the he attempted to boot his copy of his root fs (which, a copy of WOULD boot for me) and it would NOT boot. This is under the Linode environment.
11:32<caker>Biut then
11:32<caker>he said he copied all his filesystems and those would boot... so go figure
11:32|-|ElectricElf [] has quit [Read error: Operation timed out]
11:33<caker>I'll mess around wit it some more, but not right now -- we were up all night dealing with some hardware problems
12:01|-|ElectricElf [] has joined #uml
12:07|-|krau [~cktakahas@] has quit [Ping timeout: 480 seconds]
12:31|-|ram [] has joined #uml
12:45|-|wyvern [] has quit [Ping timeout: 480 seconds]
12:54|-|wyvern [] has joined #uml
12:57|-|aroscha [] has quit [Read error: Connection reset by peer]
13:08|-|aroscha [] has joined #uml
13:36|-|the_hydra [~a_mulyadi@] has joined #uml
13:41|-|the_hydra [~a_mulyadi@] has quit [Quit: gug all]
13:48|-|baroni [] has quit [Ping timeout: 480 seconds]
13:57|-|baroni [] has joined #uml
14:02|-|aroscha [] has quit [Quit: aroscha]
14:32|-|d-media [] has joined #uml
14:32<d-media>hi every one is the owner of happen to be around, I had a question about the donation, I'm going to make one.
14:38|-|krau [~cktakahas@] has joined #uml
14:51<jdike>I'm still here
14:59|-|aroscha [] has joined #uml
15:38<aroscha>jdike: I tried with HZ=100 but not much improvement
15:38<jdike>HZ=100 is default I think
15:38<jdike>I was thinking maybe HZ=1
15:39<aroscha>but then other processes never get any time
15:39<jdike>explain that?
15:39<aroscha>or they only get time when the others give up the CPU
15:40<aroscha>in my case the code actually does _lots_ of selects()
15:40<aroscha>x times per second
15:40<aroscha>it polls if packets arrived
15:41<aroscha>so , if i am correct, then with HZ=1 , the process does select(), gives up the CPU, others get it and after N (N= number of processes ) seconds (with HZ=1) it will get the CPU back , right?
15:41<aroscha>well, I guess my knowledge of linux scheduling also needs updating
15:42<jdike>it will be runnable as soon as traffic arrives
15:42<jdike>and it may run immediately
15:42<aroscha>one packet gets sent out of one instance, N-1 others get it via the bridge. They now all compete for this one packet in their select()
15:43<jdike>OK, then they will compete, but that has nothing to do with HZ
15:43<aroscha>ok... but the question is, when do they get scheduled in?
15:43<aroscha>My knowledge of HZ is that it is the basis for the timer interrupt
15:43<jdike>they will be scheduled (as in made runnable) immediately
15:44<aroscha>which is the basis for scheduling quanta
15:44<jdike>when they actually run depends on the host scheduler
15:44<jdike>quanta only matter when things are CPU-bound
15:44<jdike>it doesn't matter for I/O loads
15:45<aroscha>which is the other part for me . Every instance after gettings packets, computes dijsktra shortest paths (which is CPU bound)
15:45<aroscha>so actually, I do have a mix
15:45<aroscha>but I feel like I am missing the point with HZ
15:46<jdike>but the calculation isn't going to take 1 sec
15:46<aroscha>probably not
15:46<aroscha>it can't actually :)
15:46<aroscha>but a few ms
15:46<jdike>and changing HZ will only affect the scheduling within a UML
15:46<jdike>it sounds like there's only one thing running inside each UML
15:47<aroscha>yes, that is correct
15:47<jdike>it will reduce the number of timers that the host has to deliver
15:47<jdike>and the amount of scheduling on the host
15:49<aroscha>ok... but HZ has to be changed on the host ?
15:49<aroscha>or should I specify it while making the UML kernel
15:49<jdike>just UML
15:49<aroscha>ok, back to the shell ;-)
15:50<aroscha>(ahm "drawing board")
15:50|-|Netsplit <->, quits: Hunger, peterz, albertito, tchan
15:50|-|Netsplit over, joins: Hunger, tchan
15:50|-|Netsplit over, joins: peterz, albertito
16:08|-|moyix [] has quit [Server closed connection]
16:08|-|moyix [] has joined #uml
16:20<aroscha>jdike: maybe stupid question , but there is no HZ option in .config in make ARCH=um
16:20<aroscha>should I just add it?
16:21<jdike>change it there
16:23<aroscha>USER_HZ too?
16:23<aroscha>ok, fine. ... let's test :)
16:23<jdike>boot one up and let it sit idle
16:24<jdike>strace the main pid, and you should see one interrupt/sec
16:24<aroscha>hehe, I like that error message: include/linux/jiffies.h:33:3: error: #error You lose.
16:24<aroscha>include/linux/jiffies.h:225:46: warning: "SHIFT_HZ" is not defined
16:25<jdike>I guess you'd better make it 12 instead
16:25<aroscha>i just saw :)
16:28<aroscha>na... I will simply set SHIFT_HZ to 4 and HZ to 1
16:28<aroscha>SHIFT_HZ is only used in clocksource_bigadjust seems like
16:29<aroscha>OMG, if I continue like that I will become a linux kernel hacker, I wanted to stay with *BSD ;-)
16:29|-|flatronf700B [~flatronf7@] has quit [Server closed connection]
16:34<aroscha>hmm.. no does not work. There is an int HZ/USER_HZ code somewhere in include/linux/jiffies.h:406
16:36<jdike>My jiffies.h is nowhere near 400 lines
16:36<jdike>more like 300
16:42<aroscha>hmm... what kernel source are you on?
16:42<aroscha>2.6.21-mm X ?
16:42<aroscha>or some thing -mm ?
16:43<aroscha>ha! include/net/inet_timewait_sock.h:42:3: error: #error Unsupported: HZ <= 16 or HZ > 4096
16:43<jdike>2.6.21 or 2.6.21-rc7-mm2
16:43<jdike>yeah, go for 16
16:43<aroscha>so here we have the answer. what HZ can be as minimum
16:43<jdike>it looks like things just don't want HZ=1
16:43<aroscha>yes, lots of trouble
16:43<aroscha>I stopped on that track
16:44<jdike>You're well into diminishing returns anyway
16:45<aroscha>by setting HZ to smthg small?
16:45<jdike>by setting it to 16
16:45<jdike>you've gotten rid of 84/sec
16:45<aroscha>i think I understood what you wanted to do.
16:45<jdike>HZ=1 gives you another 15/sec, ~16% more
16:46|-|Internat [] has quit [Server closed connection]
16:46|-|Internat [] has joined #uml
16:47<aroscha>caker yesterday mentioned that using the CFS scheduler might be a good idea. I was thinking about that. The nice thing that I get with CFS seems like complete deterministic behaviour. Which is great for network simulators
16:47<jdike>could be
16:47<aroscha>as long as the amount of work can actually be scheduled in that time
17:03<aroscha>jdike: HZ=18 and it is MUCH better!
17:04<jdike>they have time to do real work now?
17:04<aroscha>seems so
17:04<aroscha>not constantly interrupted
17:04<aroscha>i have no packetloss on the bridge
17:04<aroscha>ok, now let's try to scale up
17:08|-|fo0bar [] has quit [Server closed connection]
17:08|-|fo0bar [] has joined #uml
17:54|-|d-media [] has quit [Ping timeout: 480 seconds]
18:07[~]caker reads up on this VMI stuff ( )
18:07<caker>note the comments regarding UML
18:15|-|wyvern [] has quit [Quit: Leaving]
18:57<jdike>I would tend to agree with Zach
18:57|-|jdike [] has quit [Quit: Leaving]
20:28<aroscha>what is actually the big difference between skas0 and skas3 ?
20:35<caker>aroscha: skas0 requires a process on the host for each UML address space, whereas skas3 uses /proc/mm
20:35<aroscha> what does that mean in terms of context switches?
20:35<caker>essentially, skas3 means only one UML process on the host, period. (well, technically it's one kernel thread, userspace, IO, and interrupt thread)
20:36<caker>Not much, but skas3 does have less overhead. So much less so, that I wouldn't consider running anything other than skas3 for our environment
20:37<aroscha>but skas0 != TT I assume?
20:37<caker>correct. In Jeff's words: skas0 is a cross between TT mode and skas3
20:37<aroscha>ah, ok... well, helps to cross check :) the docu is not 100% clear on that IMHO
20:37<caker>similar to TT mode in that it needs a host process for each UML's processes, skas3 in that it just juses them for address spaces. There is no tracing thread.
20:38<caker>skas0 replaced TT mode, and doesn't require a host kernel patch. So, in that way they're similar
20:39<aroscha>i see
20:40|-|ram [] has quit [Ping timeout: 480 seconds]
20:41<aroscha>BTW: I did not try the CFS yet... still coming
20:41<aroscha>but actually you want to customer to pay for nice levels, no? ;-)
21:08<caker>us? No, I group similar plans onto the same host
21:08<caker>and let the normal process scheduler fight it out
21:08<caker>Half as many on other Linodes on a host for twice the price, etc (twice the resources)
21:45|-|Netsplit <-> quits: Internat, peterz, albertito
21:46|-|Netsplit over, joins: Internat, peterz, albertito
22:07|-|ant384 [~zen@] has quit [Ping timeout: 480 seconds]
22:59|-|VS_ChanLog [] has left #uml [Rotating Logs]
22:59|-|VS_ChanLog [] has joined #uml
---Logclosed Fri Apr 27 00:00:13 2007