On Mon, 2006-12-18 at 13:10 +0100, Jan Kiszka wrote: > Hi Philippe, > > actually, I was trying to apply a micro-optimisation on > __ipipe_handle_irq, but I think I also found a bug on SMP systems (at > least on x86): > > After __ipipe_handle_irq forwarded some IRQ to __ipipe_dispatch_wired > and the latter returned 1 (i.e. "not deferred"), a pipeline sync is > triggered using the cpuid read on IRQ entry. But I think that > __ipipe_dispatch_wired may very well have caused some CPU migration of > the current context so that reloading the cpuid is required here. This > is what the first attached patch does. >
Correct. Applied, thanks. > Jan > > > PS: The optimisation I was looking at deals with the assumption that a > wired IRQ may never be also a sticky one, correct? Correct. > If yes, the second > (alternative) patch might be interesting as it avoids to touch the root > domain data structure and to test for stickiness in the wired case. > Should shorten the wired IRQ path by a few cycles (or more on cache > miss...). Applied, thanks. -- Philippe. _______________________________________________ Adeos-main mailing list [email protected] https://mail.gna.org/listinfo/adeos-main
