From owner-freebsd-current@FreeBSD.ORG Wed Apr 23 10:29:28 2003 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id DEB7837B401; Wed, 23 Apr 2003 10:29:28 -0700 (PDT) Received: from wabakimi.chat.carleton.ca (wabakimi.chat.carleton.ca [134.117.1.98]) by mx1.FreeBSD.org (Postfix) with ESMTP id 88E5B43FAF; Wed, 23 Apr 2003 10:29:27 -0700 (PDT) (envelope-from creyenga@connectmail.carleton.ca) Received: from fireball (terry.cavern.carleton.ca [134.117.93.187] (may be forged))h3NHTPC7009187; Wed, 23 Apr 2003 13:29:25 -0400 (EDT) Message-ID: <000b01c309bd$dbbd48b0$0200000a@fireball> From: "Craig Reyenga" To: "John Baldwin" References: Date: Wed, 23 Apr 2003 13:29:03 -0400 MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit X-Priority: 3 X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook Express 6.00.2600.0000 X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2600.0000 cc: freebsd-current@freebsd.org Subject: Re: Renice idle process to -20 causes hang. X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 23 Apr 2003 17:29:29 -0000 From: "John Baldwin" > > On 23-Apr-2003 Craig Reyenga wrote: > > While running a samba benchmark, I tried 'renice -n -20 10' (pid 10 is idle > > thread) to see what would happen. Turns out that this operation isn't > > illegal, and the system hung accordingly. The benchmark timed out soon > > after, and the console started displaying this message: > > > > swap_pager: indefinite wait buffer: device: ad0s1b, blkno: 776, size: 4096 > > > > over and over, although not rapidly. I'm not sure what to blame; perhaps > > setpriority() should return [EINVAL] or something. I can provide more info, > > upon request. > > Umm, yeah, setpriority should do an EINVAL, but that's not probably the > real bug. idlethreads are never on the run queues, they are truly idle > and only executed when there is nothing else to do. They don't have a > real priority other than "anything else is more important". What might have > happened is that setpiority() put the idle process on the run queue, which > is guaranteed to totally hose your system. > > Are you using SCHED_ULE or SCHED_4BSD? > > -- > > John Baldwin <>< http://www.FreeBSD.org/~jhb/ > "Power Users Use the Power to Serve!" - http://www.FreeBSD.org/ > I am using SHED_ULE, and I have not yet tried this with SCHED_4BSD. I have already submitted a PR about this, perhaps a little prematurely. It's definitely a 'problem' though, because the system becomes unusable. I should also mention that any SSH sessions that were open already still work, until I try to run a new process, such as ls or something. -Craig