From owner-freebsd-arch@FreeBSD.ORG Sat Jul 19 19:57:27 2014 Return-Path: Delivered-To: arch@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 4EDA5BCB; Sat, 19 Jul 2014 19:57:27 +0000 (UTC) Received: from mail.xcllnt.net (mail.xcllnt.net [50.0.150.214]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 0D57F293B; Sat, 19 Jul 2014 19:57:26 +0000 (UTC) Received: from [192.168.2.31] (atc.xcllnt.net [50.0.150.213]) (authenticated bits=0) by mail.xcllnt.net (8.14.9/8.14.9) with ESMTP id s6JJvOxX024820 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=NO); Sat, 19 Jul 2014 12:57:25 -0700 (PDT) (envelope-from marcel@xcllnt.net) Content-Type: multipart/signed; boundary="Apple-Mail=_9EC7C332-AEF2-47D7-BE1B-8C3AA7C81F99"; protocol="application/pgp-signature"; micalg=pgp-sha1 Mime-Version: 1.0 (Mac OS X Mail 7.3 \(1878.6\)) Subject: Re: KDB entry on NMI From: Marcel Moolenaar In-Reply-To: <20140719182909.GU93733@kib.kiev.ua> Date: Sat, 19 Jul 2014 12:57:24 -0700 Message-Id: <18C85F15-FC9E-480C-BFB9-4CD0894FD93A@xcllnt.net> References: <20140718160708.GO93733@kib.kiev.ua> <20140719182909.GU93733@kib.kiev.ua> To: Konstantin Belousov X-Mailer: Apple Mail (2.1878.6) Cc: amd64@freebsd.org, arch@freebsd.org X-BeenThere: freebsd-arch@freebsd.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: Discussion related to FreeBSD architecture List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 19 Jul 2014 19:57:27 -0000 --Apple-Mail=_9EC7C332-AEF2-47D7-BE1B-8C3AA7C81F99 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=us-ascii On Jul 19, 2014, at 11:29 AM, Konstantin Belousov = wrote: >>=20 >> One may call kdb_enter on different CPUs at the same time and it's >> also possible to call panic on multiple CPUs at the same time (but >> we serialize panic() right now). What if we let kdb_enter at al deal >> with concurrency, instead of doing it specifically for NMIs? > Then, on 80-threads machine I get the 80 ddb sessions on NMI = broadcast, > like now. With your proposal, it will be somewhat better, since > sessions are serialized, so I can do the reboot from the first one. There's value to send the NMI to all CPUs: you'll be pretty sure that if there's a CPU that can handle it, it will get the NMI. Sending it to a single CPU has the downside that if that CPU is unable to handle the NMI (corrupted page tables, locked on some chipset access, held in reset, powering down, whatever one can think of) you're out of luck. Are we acking the NMI on all CPUs right now? --=20 Marcel Moolenaar marcel@xcllnt.net --Apple-Mail=_9EC7C332-AEF2-47D7-BE1B-8C3AA7C81F99 Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename=signature.asc Content-Type: application/pgp-signature; name=signature.asc Content-Description: Message signed with OpenPGP using GPGMail -----BEGIN PGP SIGNATURE----- Comment: GPGTools - http://gpgtools.org iEYEARECAAYFAlPKzaQACgkQpgWlLWHuifbMMwCeMnNysi89BXze/Aatu3VkRZk8 G9cAnj7IsKTxaQh5eZ3xtNcwSryWBfHl =m2cx -----END PGP SIGNATURE----- --Apple-Mail=_9EC7C332-AEF2-47D7-BE1B-8C3AA7C81F99--