NetBSD Problem Report #52666
From www@NetBSD.org Sat Oct 28 18:38:50 2017
Return-Path: <www@NetBSD.org>
Received: from mail.netbsd.org (mail.netbsd.org [199.233.217.200])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(Client CN "mail.NetBSD.org", Issuer "mail.NetBSD.org CA" (not verified))
by mollari.NetBSD.org (Postfix) with ESMTPS id 7123A7A1DC
for <gnats-bugs@gnats.NetBSD.org>; Sat, 28 Oct 2017 18:38:50 +0000 (UTC)
Message-Id: <20171028183849.8A5E87A210@mollari.NetBSD.org>
Date: Sat, 28 Oct 2017 18:38:49 +0000 (UTC)
From: coypu@sdf.org
Reply-To: coypu@sdf.org
To: gnats-bugs@NetBSD.org
Subject: ARM spinlocks are suboptimal
X-Send-Pr-Version: www-1.0
>Number: 52666
>Category: port-arm
>Synopsis: ARM spinlocks are suboptimal
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: port-arm-maintainer
>State: closed
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Sat Oct 28 18:40:00 +0000 2017
>Closed-Date: Sat Dec 09 21:49:54 +0000 2017
>Last-Modified: Sat Dec 09 21:49:54 +0000 2017
>Originator: coypu
>Release: NetBSD 8.99.5
>Organization:
>Environment:
NetBSD 8.99.5
>Description:
newer ARM has an instruction 'wfe' essentially made for spinlocks. we should use it, but I don't see a relevant use of it, only an unused macro.
(In fact only x86 has a spinlock backoff function).
>How-To-Repeat:
>Fix:
>Release-Note:
>Audit-Trail:
From: Matt Thomas <matt@3am-software.com>
To: gnats-bugs@NetBSD.org
Cc: port-arm-maintainer@netbsd.org,
gnats-admin@netbsd.org,
netbsd-bugs@netbsd.org
Subject: Re: port-arm/52666: ARM spinlocks are suboptimal
Date: Tue, 31 Oct 2017 16:10:03 -0700
> On Oct 28, 2017, at 11:40 AM, coypu@SDF.ORG wrote:
>=20
>> Number: 52666
>> Category: port-arm
>> Synopsis: ARM spinlocks are suboptimal
>> Confidential: no
>> Severity: serious
>> Priority: medium
>> Responsible: port-arm-maintainer
>> State: open
>> Class: sw-bug
>> Submitter-Id: net
>> Arrival-Date: Sat Oct 28 18:40:00 +0000 2017
>> Originator: coypu
>> Release: NetBSD 8.99.5
>> Organization:
>> Environment:
> NetBSD 8.99.5
>> Description:
> newer ARM has an instruction 'wfe' essentially made for spinlocks. we =
should use it, but I don't see a relevant use of it, only an unused =
macro.
>=20
> (In fact only x86 has a spinlock backoff function).
>> How-To-Repeat:
>=20
>> Fix:
>=20
Note that the sev 'send event' instruction needs to be used in parallel. =
When I experimented earlier I found that wfe/sev would many spurious =
wakeups negating advantages.=
State-Changed-From-To: open->closed
State-Changed-By: maya@NetBSD.org
State-Changed-When: Sat, 09 Dec 2017 21:49:54 +0000
State-Changed-Why:
Actual benchmark showed otherwise
>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-2014
The NetBSD Foundation, Inc. ALL RIGHTS RESERVED.