From owner-freebsd-hackers@FreeBSD.ORG Thu Jul 17 19:33:22 2008 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 93E951065671 for ; Thu, 17 Jul 2008 19:33:22 +0000 (UTC) (envelope-from ravi.murty@intel.com) Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by mx1.freebsd.org (Postfix) with ESMTP id 564E08FC18 for ; Thu, 17 Jul 2008 19:33:22 +0000 (UTC) (envelope-from ravi.murty@intel.com) Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by fmsmga101.fm.intel.com with ESMTP; 17 Jul 2008 12:30:14 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="4.31,204,1215414000"; d="scan'208,217";a="362499492" Received: from orsmsx335.amr.corp.intel.com (HELO orsmsx335.jf.intel.com) ([10.22.226.40]) by fmsmga002.fm.intel.com with ESMTP; 17 Jul 2008 12:30:26 -0700 Received: from orsmsx416.amr.corp.intel.com ([10.22.226.46]) by orsmsx335.jf.intel.com with Microsoft SMTPSVC(6.0.3790.1830); Thu, 17 Jul 2008 12:33:09 -0700 X-MimeOLE: Produced By Microsoft Exchange V6.5 Content-class: urn:content-classes:message MIME-Version: 1.0 Date: Thu, 17 Jul 2008 12:33:08 -0700 Message-ID: X-MS-Has-Attach: X-MS-TNEF-Correlator: Thread-Topic: atomic_load_acq_int in ipi_nmi_handler() Thread-Index: AcjoQ/C/LoATJ5bJRnSugKbOzirB4w== From: "Murty, Ravi" To: X-OriginalArrivalTime: 17 Jul 2008 19:33:09.0233 (UTC) FILETIME=[F181D610:01C8E843] Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable X-Content-Filtered-By: Mailman/MimeDel 2.1.5 Subject: atomic_load_acq_int in ipi_nmi_handler() X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 17 Jul 2008 19:33:22 -0000 Hello All, =20 Just a quick question: Why does this function (ipi_nmi_handler) execute a atomic_load_acq_int(&ipi_nmi_pending). Following this it calls atomic_clear_int to clear itself out of this mask. I can't think of why the CPU would reorder these instructions knowing there is a dependency here. =20 Also, since FreeBSD has masks (like ipi_nmi_pending), has there been any work on extending this beyond 64 CPUs? =20 Thanks Ravi =20