Sergey Suleymanov wrote:
I have Tyan Athlon MP platform with Linux kernel 2.4.21. Dosemu eats ~30 %CPU time in a plain DOS command prompt. Playing with config.hogthreshold multipliers in int.c, int16.c and *_IDLE_USECS
values gives nothing.
Not sure about an SMP, but the $_hogthreshold doesn't work reliably for me without the attached patch. See if probably it helps you.
--- int16.c.old Mon Jun 23 04:02:08 2003
+++ int16.c Tue Aug 26 21:02:31 2003
@@ -116,7 +116,6 @@
static unsigned check_key_available(int extended)
{
unsigned keyptr = get_key(extended);
- static Bit32u oldESP;
static int trigger = 0, trigger1 = 0;
if(keyptr == -1 && config.hogthreshold && CAN_SLEEP()) {
@@ -125,17 +124,12 @@
else
trigger1=0;
if(trigger1 >= config.hogthreshold*500) {
- if(oldESP==_ESP) {
- if (++trigger >= config.hogthreshold*20) {
- usleep(INT2F_IDLE_USECS);
- trigger=0;
- keyptr = get_key(extended);
- }
- } else {
+ if (++trigger >= config.hogthreshold*20) {
+ usleep(INT2F_IDLE_USECS);
trigger=0;
+ keyptr = get_key(extended);
}
trigger1--;
- oldESP=_ESP;
}
}
return get_key(extended);
