From mboxrd@z Thu Jan 1 00:00:00 1970 From: Manfred Scherer Subject: Re: Status Update : Deployment of DOSEMU Application Server Date: Thu, 30 Oct 2008 18:14:04 +0100 Message-ID: <200810301814.04401.manfred.scherer.mhm@t-online.de> Mime-Version: 1.0 Content-Transfer-Encoding: 7bit Return-path: Content-Disposition: inline Sender: linux-msdos-owner@vger.kernel.org List-ID: Content-Type: text/plain; charset="us-ascii" To: linux-msdos@vger.kernel.org For the 100% CPU-load problem caused by clipper programs and other dos programs, I use two small patches in dosemu 1.3.4: --- ./base/bios/int16.c.ORIG 2006-10-31 21:28:54.000000000 +0100 +++ ./base/bios/int16.c 2006-12-31 13:37:10.000000000 +0100 @@ -118,7 +118,11 @@ trigger_idle(); else reset_idle(0); - idle(500, 20, 0, INT2F_IDLE_USECS, "int16"); + /* 2006-12-13 + * dbase3+, word4.0, .... CPU-load is to heavy during idle. --ms + * idle(500, 20, 0, INT2F_IDLE_USECS, "int16"); + */ + idle(10, 20, 0, INT2F_IDLE_USECS, "int16"); } else { reset_idle(1); } --- ./base/async/int.c.ORIG 2006-11-12 02:20:26.000000000 +0100 +++ ./base/async/int.c 2007-01-22 15:12:30.000000000 +0100 @@ -1232,7 +1232,13 @@ #endif case 0x2C: { /* get time & date */ - idle(2, 100, 0, INT2F_IDLE_USECS, "dos_time"); + /* + * 2004/08/20, 2006/11/25 + * waiting loops, like 'wait until time ...' call never a trigger_idle() + * but 90% cpu load. --ms + * idle(2, 100, 0, INT2F_IDLE_USECS, "dos_time"); + */ + idle(0, 20, 0, INT2F_IDLE_USECS, "dos_time"); return 0; } maybe this can solve your 100% CPU-load too. Manfred