From owner-freebsd-hackers@FreeBSD.ORG Fri Dec 5 00:45:54 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 949041065679 for ; Fri, 5 Dec 2008 00:45:54 +0000 (UTC) (envelope-from ravi.murty@gmail.com) Received: from rv-out-0506.google.com (rv-out-0506.google.com [209.85.198.238]) by mx1.freebsd.org (Postfix) with ESMTP id 6672A8FC14 for ; Fri, 5 Dec 2008 00:45:54 +0000 (UTC) (envelope-from ravi.murty@gmail.com) Received: by rv-out-0506.google.com with SMTP id b25so4132736rvf.43 for ; Thu, 04 Dec 2008 16:45:54 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:message-id:date:from:to :subject:mime-version:content-type; bh=xtopK9smZlaPhF2ONKvbxaFHIwyMktKjcsxmTUS+zz8=; b=ZgKxHuua/RxiH2GVHcSXM1+cY7+P+fisMqnY14ctWW6iRHPXF/0NEvdERPyAPUbAJn GwKojPt+ySkeOKUQvugTX7QZAgtx+L7fhmiR14tb2jj+Q42OtkSkokaSnT6dJoCO0ptC a12zi+vlRk0br+bRF07ZQ/4THf18cjxp0bEqc= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=message-id:date:from:to:subject:mime-version:content-type; b=YjlRbdjkfYyKuVgoMXSkJ/VUEfIDq8igB3ylyu27Rxpdu23ZTBgHgVdm8QZ8/ow7Gh 3kPx4gZWoBkjZrbTMu03H4ndPYHYtoi/nc5B0Wu0H4FKzdLPIShJinXgAg5Du5SsnJh9 X7pkEbOziVqsvWo8lu5t/wTXIk9Qb+JlKl4HQ= Received: by 10.141.141.3 with SMTP id t3mr7240817rvn.106.1228437954060; Thu, 04 Dec 2008 16:45:54 -0800 (PST) Received: by 10.140.251.14 with HTTP; Thu, 4 Dec 2008 16:45:53 -0800 (PST) Message-ID: <95b10a340812041645t770b1d8sc7802773ab6beff2@mail.gmail.com> Date: Thu, 4 Dec 2008 16:45:53 -0800 From: "Ravi Murty" To: freebsd-hackers@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Content-Disposition: inline X-Content-Filtered-By: Mailman/MimeDel 2.1.5 Subject: local APIC 2 interrupt fifo limit 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: Fri, 05 Dec 2008 00:45:54 -0000 Hello, There is this comment in apicvar.h in the amd64 tree that talks about why the kernel uses smp_ipi_mtx and how it prevents more than 2 outstanding IPIs per interrupt vector. It appears that modern CPUs collapse the IRR bit if there is an interrupt when both the IRR and ISR bits are set. I was wondering why we need smp_ipi_mtx besides the fact that the kernel uses global variables for things like invalidate page ranges. Thanks, Ravi