Messages in this thread | | | Date | Tue, 3 Feb 2004 12:12:36 +0100 | From | Ingo Molnar <> | Subject | Re: [PATCH] 2.6.1 Hyperthread smart "nice" 2 |
| |
* Con Kolivas <kernel@kolivas.org> wrote:
> > for lowprio tasks they are of little use, unless you modify gcc to > > sprinkle mwait yields all around the 'lowprio code' - not very practical > > i think. > > Yuck! > > Looks like the kernel is the only thing likely to be smart enough to > do this correctly for some time yet.
no, there's no way for the kernel to do this 'correctly', without further hardware help. mwait is suspending the current virtual CPU a bit better than rep-nop did. This can be exploited for the idle loop because the idle loop does nothing so it can execute the rep-nop. (mwait can likely also be used for spinlocks but that is another issue.)
user-space code that is 'low-prio' cannot be slowed down via mwait, without interleaving user-space instructions with mwait (or with rep-nop).
this is a problem area that is not solved by mwait - giving priority to virtual CPUs should be offered by CPUs, once the number of logical cores increases significantly - if the interaction between those cores is significant. (there are SMT designs where this isnt an issue.)
Ingo - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |