NetBSD Problem Report #38271
From yamt@mwd.biglobe.ne.jp Fri Mar 21 06:10:44 2008
Return-Path: <yamt@mwd.biglobe.ne.jp>
Received: from mail.netbsd.org (mail.netbsd.org [204.152.190.11])
by narn.NetBSD.org (Postfix) with ESMTP id 97C2A63B863
for <gnats-bugs@gnats.NetBSD.org>; Fri, 21 Mar 2008 06:10:44 +0000 (UTC)
Message-Id: <20080321061041.BA3CF11704@yamt.dyndns.org>
Date: Fri, 21 Mar 2008 15:10:41 +0900 (JST)
From: yamt@mwd.biglobe.ne.jp
Reply-To: yamt@mwd.biglobe.ne.jp
To: gnats-bugs@gnats.NetBSD.org
Subject: uvm_reclaimable is not mp-safe
X-Send-Pr-Version: 3.95
>Number: 38271
>Category: kern
>Synopsis: uvm_reclaimable is not mp-safe
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: kern-bug-people
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Fri Mar 21 06:15:00 +0000 2008
>Originator: YAMAMOTO Takashi <yamt@mwd.biglobe.ne.jp>
>Release: NetBSD 4.99.55
>Organization:
>Environment:
>Description:
uvm_reclaimable() is used as the following.
if another thread reclaims all reclaimable memory immediately after
our alloc() is failed, we will goto fail possibly unnecessarily.
p = alloc();
if (p == NULL) {
if (uvm_reclaimable()) {
uvm_wait();
goto retry;
}
goto fail;
}
>How-To-Repeat:
code inspection.
>Fix:
>Unformatted:
(Contact us)
$NetBSD: query-full-pr,v 1.39 2013/11/01 18:47:49 spz Exp $
$NetBSD: gnats_config.sh,v 1.8 2006/05/07 09:23:38 tsutsui Exp $
Copyright © 1994-2007
The NetBSD Foundation, Inc. ALL RIGHTS RESERVED.