NetBSD Problem Report #38751
From martin@duskware.de Sun May 25 22:34:16 2008
Return-Path: <martin@duskware.de>
Received: from mail.netbsd.org (mail.netbsd.org [204.152.190.11])
by narn.NetBSD.org (Postfix) with ESMTP id 937B263BAB2
for <gnats-bugs@gnats.netbsd.org>; Sun, 25 May 2008 22:34:16 +0000 (UTC)
Message-Id: <20080525221631.6791D63BA68@narn.NetBSD.org>
Date: Sun, 25 May 2008 22:16:31 +0000 (UTC)
From: ad@netbsd.org
Reply-To: ad@netbsd.org
To: netbsd-bugs-owner@NetBSD.org
Subject: sched_rr_get_interval() doesn't tell the truth
X-Send-Pr-Version: www-1.0
>Number: 38751
>Category: kern
>Synopsis: sched_rr_get_interval() doesn't tell the truth
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: kern-bug-people
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Sun May 25 22:35:00 +0000 2008
>Last-Modified: Sun Oct 06 16:11:00 +0000 2019
>Originator: Andrew Doran
>Release: 4.99.63
>Organization:
The NetBSD Project
>Environment:
n/a
>Description:
sched_rr_get_interval leans on sysconf:
int
sched_rr_get_interval(pid_t pid, struct timespec *interval)
{
interval->tv_sec = 0;
interval->tv_nsec = sysconf(_SC_SCHED_RT_TS) * 1000;
return 0;
}
...
case _SC_SCHED_RT_TS:
if (sysctlgetmibinfo("kern.sched.rtts", ....
On my system:
$ sysctl kern.sched.rtts
kern.sched.rtts = 100
So we appear to be reporting timeslices of 100us, when the real
figure is probably closer to 62500us, because the preemption is
driven by sched_tick().
>How-To-Repeat:
Code inspection.
>Fix:
- Preempt SCHED_RR threads on every hardclock() tick.
- Ensure that we report the correct value to applications.
>Release-Note:
>Audit-Trail:
Responsible-Changed-From-To: kern-bug-people->rmind
Responsible-Changed-By: rmind@NetBSD.org
Responsible-Changed-When: Mon, 09 Nov 2009 06:35:11 +0000
Responsible-Changed-Why:
Take.
Responsible-Changed-From-To: rmind->kern-bug-people
Responsible-Changed-By: rmind@NetBSD.org
Responsible-Changed-When: Sun, 06 Oct 2019 16:11:00 +0000
Responsible-Changed-Why:
>Unformatted:
(Contact us)
$NetBSD: query-full-pr,v 1.39 2013/11/01 18:47:49 spz Exp $
$NetBSD: gnats_config.sh,v 1.9 2014/08/02 14:16:04 spz Exp $
Copyright © 1994-2007
The NetBSD Foundation, Inc. ALL RIGHTS RESERVED.