From owner-freebsd-hackers Wed Mar 18 01:02:27 1998 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.8/8.8.8) id BAA00442 for freebsd-hackers-outgoing; Wed, 18 Mar 1998 01:02:27 -0800 (PST) (envelope-from owner-freebsd-hackers@FreeBSD.ORG) Received: from labinfo.iet.unipi.it (labinfo.iet.unipi.it [131.114.9.5]) by hub.freebsd.org (8.8.8/8.8.8) with SMTP id BAA00436 for ; Wed, 18 Mar 1998 01:02:20 -0800 (PST) (envelope-from luigi@labinfo.iet.unipi.it) Received: from localhost (luigi@localhost) by labinfo.iet.unipi.it (8.6.5/8.6.5) id IAA00156; Wed, 18 Mar 1998 08:24:22 +0100 From: Luigi Rizzo Message-Id: <199803180724.IAA00156@labinfo.iet.unipi.it> Subject: The nice Problem To: hackers@FreeBSD.ORG Date: Wed, 18 Mar 1998 08:24:22 +0100 (MET) X-Mailer: ELM [version 2.4 PL23] Content-Type: text Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG Hi, a friend who is not on this list sent me the attached message. According to him, a process like "main(){while(1);}" run with /usr/bin/nice -20 in the background severely slows down compilations on FreeBSD 2.2.5. He suspects that the reason is, when io bound processes are woken up, the running process with lower priority is somwhow not interrupted. I am not able to reproduce the problem here on 2.2.1 but perhaps i have too much memory for the tests i have run. Can anyone comment on this, and if there is some specific difference between 2.2.1 and later version of the system which could lead to such a behaviour ? thanks luigi > Basic question: In what way does the priority of processes interact > with scheduling ? > or: Why aren't processes scheduled differently based on "IO boundness" ? > > I have some code which compiles in 8 sec (14 sec real time, see below > for details). However, if I at the same time run a CPU bound program, > even with low priority, the compile takes the same time (measured in > cpu time) but more than twice as long in real time. FYI, I run > the following progam to obtain the numbers below: > main(){while(1);} > > Please look at these numbers: > FreeBSD compile > 14.70 real 8.54 user 1.71 sys > FreeBSD compile with process in nice -20 > 48.25 real 8.65 user 1.62 sys > FreeBSD compile with process not in nice > 56.82 real 8.67 user 1.50 sys > > NetBSD compile > 27.16 real 15.16 user 5.38 sys > NetBSD compile with process in nice -20 > 29.11 real 15.28 user 4.30 sys > NetBSD compile with process not in nice > 32.63 real 15.37 user 5.60 sys > > (The machine running NetBSD is one year old, and is only half as fast > as my new machine). > > Under NetBSD, a process with low priority does not affect a process > running in normal priority, the compile is less than 10% slower. > Furthermore, a CPU bound process interferes very little with an IO > bound process (less than 20%); Linux behaves the same way (thanx to > johnm@cs.uit.no) This is, to say it mildly, not the case with FreeBSD. > Since I need to run a process continously in the background (see > http://ashpool.hpl.hp.com/~ecc) I must have a system that will give > priority to "forground" jobs. How do I achieve this om FreeBSD, > something that is normal on all other systems I have used over the > years. > > Context (from dmesg): > FreeBSD 2.2.5-RELEASE #0: Mon Mar 16 12:32:57 CET 1998 > tage@dslab5.cs.uit.no:/usr/src/sys/compile/DSLAB5 > CPU: Pentium Pro (300.01-MHz 686-class CPU) > Origin = "GenuineIntel" Id = 0x634 Stepping=4 > Features=0x80fbff APIC,,MTRR,PGE,MCA,CMOV> > real memory = 268435456 (262144K bytes) > > FreeBSD was installed without modification. I run FreeBSD since my > system is a dual-processor box, awaiting upgrade to 3.0 with SMP > support. Please, save me from Linux; NetBSD has no SMP support yet. -----------------------------+-------------------------------------- Luigi Rizzo | Dip. di Ingegneria dell'Informazione email: luigi@iet.unipi.it | Universita' di Pisa tel: +39-50-568533 | via Diotisalvi 2, 56126 PISA (Italy) fax: +39-50-568522 | http://www.iet.unipi.it/~luigi/ _____________________________|______________________________________ To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message