From: Hollis B. <ho...@us...> - 2008-04-15 18:19:45
|
On Tuesday 15 April 2008 11:14:52 Jerone Young wrote: > Actually there appears to be a real problem with preempt notify in 44x. > I had no gotten a chance to get back with you about it. But I did some > investigation into it last week. We are following the same code paths > (common code) as x86 for preempt initalization. But I ran some tests > using preempt_disable() & preempt_enable() around some places where it > would make since (places where we disable interrupts), but just using > these functions whould cause the kernel to dump sig #11. preempt_disable() and preempt_enable() are completely different, and I've called those in the past and had no problems. > The issue we have using function kvm_vcpu_block() that it is identical > to the code below, BUT it calls vcpu_put which then calls > preempt_notify_unregister() if it is called it will also sig #11. If preempt_notify_unregister() dereferences a bad pointer, that shouldn't be too difficult to track down. > I'm not sure if what is going on honestly. Based on what I found it > should "just work" as we are initializing everything like x86 (we are > calling preempt_notify_init() in the same place). But for 44x any > preempt notfication calls blow up. So it appears calling anything > preempt notify related just blows up. > > This is a much bigger issue. I'm not sure that we honest want to be > stuck on this for long periods of time just to have a function call in a > place where we honestly do not absolutely need to have it at this time. > Plus I'm no expert with these scheduling frameworks. But givin what have > read around the net what we have now "should" work. It just doesn't. > > Something can come back to later. But for now we should just roll with > the working code. No, I don't want to commit the hack. Sorry if I didn't make that clear before. Accessing a bad pointer doesn't seem like a "much bigger issue" to me, so if it's more complicated than that please elaborate. -- Hollis Blanchard IBM Linux Technology Center |