From owner-freebsd-hackers@FreeBSD.ORG Sat Jun 20 18:20:39 2015 Return-Path: Delivered-To: freebsd-hackers@hub.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 5002A9AB for ; Sat, 20 Jun 2015 18:20:39 +0000 (UTC) (envelope-from dieterbsd@gmail.com) Received: from mail-ig0-x22e.google.com (mail-ig0-x22e.google.com [IPv6:2607:f8b0:4001:c05::22e]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 1DB0B80E for ; Sat, 20 Jun 2015 18:20:39 +0000 (UTC) (envelope-from dieterbsd@gmail.com) Received: by igblr2 with SMTP id lr2so11100291igb.0 for ; Sat, 20 Jun 2015 11:20:38 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:date:message-id:subject:from:to:content-type; bh=5zmNCg4EgcAIykd5ly4ypBt/1aaOQUwlT7+GtwAW2n8=; b=EdMzCvqkx6OgxwD9SAYKbRp8E+aLQSIhuo6gs5be5Y9mXOuVaSv92qiA/nNUKHIBqQ EhFMCYHrlwJ/n0iZu9sUqJvv84ojLN+62c0R4+z7MDbmbPtvdxSdkigd/5VCZV9ak1F6 am1coJnXdUx07owtINeCrlfu6vR5bEgqgxhONssAVL24PKUGFWtvFLoMgxZID6IFzIiP T+25II2auLUDPbfZJ2flxs/PizXLrUl1VuQ0365/XhY/etJsJdeUmDzL6b9Ob70aci15 Ex3pwD0R21HQsWtuLuDIyAPF5hKjkZLZ8SCzfYg2JnniywshEXH3HlqGOVrhR256qzwh AJbQ== MIME-Version: 1.0 X-Received: by 10.43.169.137 with SMTP id nm9mr17731708icc.82.1434824438408; Sat, 20 Jun 2015 11:20:38 -0700 (PDT) Received: by 10.64.2.132 with HTTP; Sat, 20 Jun 2015 11:20:38 -0700 (PDT) Date: Sat, 20 Jun 2015 11:20:38 -0700 Message-ID: Subject: Re: Realtime process CPU starvation From: Dieter BSD To: freebsd-hackers@freebsd.org Content-Type: text/plain; charset=UTF-8 X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 20 Jun 2015 18:20:39 -0000 For those who care, I'm running kern.sched.name: ULE My (feeble) understanding is that the scheduler mostly looks at cpu time, and processes doing i/o actually get a bump *up* in priority, since because of the way hardware worked in the late 1970s-early 1980s (PDP-11, VAX, ...) the i/o got useful work done while using very little cpu time. As a result, jobs that do a lot of i/o can receive more than their fair share of cpu time. And nice(1) (even rtprio and idprio) may not have much effect on jobs that are i/o bound. Some form of ionice is sorely needed.