From owner-freebsd-hackers@FreeBSD.ORG Sat Mar 28 19:33:53 2015 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id CD1C33E6 for ; Sat, 28 Mar 2015 19:33:53 +0000 (UTC) Received: from mail-ie0-x22e.google.com (mail-ie0-x22e.google.com [IPv6:2607:f8b0:4001:c03::22e]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 8DDA2D4A for ; Sat, 28 Mar 2015 19:33:53 +0000 (UTC) Received: by iedfl3 with SMTP id fl3so104017868ied.1 for ; Sat, 28 Mar 2015 12:33:53 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:in-reply-to:references:date:message-id:subject :from:to:cc:content-type; bh=dNfRxC3bBN3r10LMzdCSCprIunjcrADXZKtCpjQJF3A=; b=x+2MqsnyWYeCucJEgb4MzxxresnT1UHDXi+qTVz1fHUFqIMLHgXcIUrpT0F4Z3qFOl BOeQhhX3cpzEUwy7IxU8GRMt4fjRXq8+NptJ6Wkkj21ZdJl+ybPAnnzeIFGR3aLufnPm c1QqGM0NrVthROOriR3jlO0uKIMHBEhv26YEbLhcIBlleoHr85stKMIQT6rKLVy5Csv7 ivyKRn2m/cAS7p8mhow9Nc3vv7DVKBISQC/UiYOemNcoLW9mREJR/JAqq+CMcmFtS96y oab4lhtROeKayd8UV4F3jrHoQEfByxBZaMYzgYLgZLDDFqFarHEn/As64TrPWh3GIlTo iwGQ== MIME-Version: 1.0 X-Received: by 10.50.67.100 with SMTP id m4mr7118263igt.32.1427571232963; Sat, 28 Mar 2015 12:33:52 -0700 (PDT) Sender: adrian.chadd@gmail.com Received: by 10.36.17.194 with HTTP; Sat, 28 Mar 2015 12:33:52 -0700 (PDT) In-Reply-To: <20150328192505.GD23643@zxy.spb.ru> References: <20150328112035.GZ23643@zxy.spb.ru> <20150328154031.GA23643@zxy.spb.ru> <20150328181026.GB23643@zxy.spb.ru> <20150328183147.GC23643@zxy.spb.ru> <20150328192505.GD23643@zxy.spb.ru> Date: Sat, 28 Mar 2015 12:33:52 -0700 X-Google-Sender-Auth: TOSVHU-RQykHyBh_V4b3-rIuYok Message-ID: Subject: Re: irq cpu binding From: Adrian Chadd To: Slawa Olhovchenkov Content-Type: text/plain; charset=UTF-8 Cc: "freebsd-hackers@freebsd.org" X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 28 Mar 2015 19:33:53 -0000 That's done deferred by the bus interrupt wiring. That's something John's been looking into as part of the general NUMA work (and I'm trying to debug right now, on dual-socket boxes with ixgbe. :-) Look at bus_bind_intr() and the twisty path to intr_event_bind(), then x86/x86/intr_machdep.c:intr_assign_cpu(), then intr_shuffle_cpus() at boot, versus what happens via calls to pic_assign_cpu to setup the wiring. -adrian