From owner-freebsd-net@FreeBSD.ORG Wed Aug 7 21:29:41 2013 Return-Path: Delivered-To: net@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTP id B26BA6BF for ; Wed, 7 Aug 2013 21:29:41 +0000 (UTC) (envelope-from andre@freebsd.org) Received: from c00l3r.networx.ch (c00l3r.networx.ch [62.48.2.2]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 201352B09 for ; Wed, 7 Aug 2013 21:29:40 +0000 (UTC) Received: (qmail 56016 invoked from network); 7 Aug 2013 22:15:15 -0000 Received: from c00l3r.networx.ch (HELO [127.0.0.1]) ([62.48.2.2]) (envelope-sender ) by c00l3r.networx.ch (qmail-ldap-1.03) with SMTP for ; 7 Aug 2013 22:15:15 -0000 Message-ID: <5202BC3A.7010505@freebsd.org> Date: Wed, 07 Aug 2013 23:29:30 +0200 From: Andre Oppermann User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:17.0) Gecko/20130620 Thunderbird/17.0.7 MIME-Version: 1.0 To: Adrian Chadd Subject: Re: [net] protecting interfaces from races between control and data ? References: <20130805215319.GA43271@onelab2.iet.unipi.it> <201308070326.r773QCLD035541@mail.karels.net> <5202A74E.4060602@freebsd.org> In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: Scott Long , mike@karels.net, Bryan Venteicher , Navdeep Parhar , net@freebsd.org, Giuseppe Lettieri , Luigi Rizzo X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 07 Aug 2013 21:29:41 -0000 On 07.08.2013 22:48, Adrian Chadd wrote: > On 7 August 2013 13:08, Scott Long wrote: > >> An even rore relevant difference is that taskqueues have a much stronger >> management API. Ithreads can only be scheduled by generating a hardware interrupt, >> can only be drained by calling bus_teardown_intr(), and cannot be paused. Taskqueues >> give you direct access to this control. > > It would be really nice if we had a software method to trigger an > ithread to run, like a software interrupt. > > It would also be nice to pin taskqueues to CPUs, we can do with > ithreads at the moment. Both are implemented on top of kernel threads so it's mostly a matter of nicely integrating and exposing an API for it. -- Andre