From owner-freebsd-hackers@FreeBSD.ORG Sat Nov 20 21:58:04 2010 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 5A476106566B; Sat, 20 Nov 2010 21:58:04 +0000 (UTC) (envelope-from yanegomi@gmail.com) Received: from mail-wy0-f182.google.com (mail-wy0-f182.google.com [74.125.82.182]) by mx1.freebsd.org (Postfix) with ESMTP id C09CD8FC13; Sat, 20 Nov 2010 21:58:03 +0000 (UTC) Received: by wyb35 with SMTP id 35so4941044wyb.13 for ; Sat, 20 Nov 2010 13:58:02 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:received:date:message-id :subject:from:to:cc:content-type; bh=dqVSELevyqrM2GZCqiZ8zK/v0HjTkNUXo7Y6J7UARAY=; b=iMYNjC6NAgJ/t2kcrpd3MqxoSC520DXhKUCvJaxIC7IrgFbsyZbGByTtjOQOYojdyh tb3ADK4wQwTz05dXiecEtFDNAtiNaWyFmt5tquAXbn1P2R3g4V6ZpUEAAReVZNUqdSxQ HlAus0/FrCHvLcBefDFXtLyZQUP5rYhKeN2Gc= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:date:message-id:subject:from:to:cc:content-type; b=JC1njJML8nY4FB7hMw5rFgu9PDhQzG1uP0OsH2i75vsABhDVr1zQPtIekSK/4kZgPP WUEHwh29sZ1UJGzfvSpCOyNgxHquCUTSI0tReNGLsk5NjAWX/mti8dQexUJ1RLlwQ6uq RtiUrsb4Thg15U+DSrYPZ3wVh2DFJZfReucA0= MIME-Version: 1.0 Received: by 10.216.35.139 with SMTP id u11mr2877793wea.15.1290290282591; Sat, 20 Nov 2010 13:58:02 -0800 (PST) Received: by 10.216.198.27 with HTTP; Sat, 20 Nov 2010 13:58:02 -0800 (PST) Date: Sat, 20 Nov 2010 13:58:02 -0800 Message-ID: From: Garrett Cooper To: freebsd-hackers@freebsd.org Content-Type: text/plain; charset=ISO-8859-1 Cc: Andriy Gapon Subject: Best way to determine if an IRQ is present 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: Sat, 20 Nov 2010 21:58:04 -0000 Trying to do a complete solution for kern/145385, Andriy has raised concerns about IRQ mapping to CPUs; while I've have put together more pieces of the puzzle, I'm a bit confused how I determine whether or not an IRQ is available for use. Sure, I could linear probe a series of IRQs, but that would probably be expensive, and different architectures treat IRQs differently, so building assumptions based on the fact that IRQ hierarchy is done in a particular order is probably not the best thing to do. I've poked around kern/kern_cpuset.c and kern/kern_intr.c a bit but I may have missed something important... Thanks, -Garrett