From owner-freebsd-current@FreeBSD.ORG Sat May 10 00:20:49 2014 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 6AF39FD8; Sat, 10 May 2014 00:20:49 +0000 (UTC) Received: from mail-qg0-x230.google.com (mail-qg0-x230.google.com [IPv6:2607:f8b0:400d:c04::230]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id E9CC6772; Sat, 10 May 2014 00:20:48 +0000 (UTC) Received: by mail-qg0-f48.google.com with SMTP id i50so5242078qgf.7 for ; Fri, 09 May 2014 17:20:48 -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=z/NGzAbfzsqtTB0epJuYP9Viu9R+ee/zmLHUOYulrR0=; b=G10tBMUq29gxHndTCR2fkES5rT9NVrryTWKSnBLVFJY24yGgbivxL8JJ+fI8pkqtrj S0B8uOwsoGOsde6Yave0vmDLc91jpUJxjszVsQqE7jofEud3Af7U6eU4MQsx1tbUENBK NEhGMQB3K21X0po7QPhDtVPbmr/gxUjKg5csHeuIfuphAhTeAiIn9x8hJWRnJwTsGXSE bDTD5RYwgtwaWW7e7K2gnI1/9TmA+BSLKymxBTriBWwl9L81Q/CYcvJnFWx3/IipM1Zz f5RV8FzlN+PMD9lHsfnlMzfgqUWWNk5vNdTk3g3Ad72wFj9QsRv03sZZR7wxcULQWmPH 9zUg== MIME-Version: 1.0 X-Received: by 10.224.16.199 with SMTP id p7mr19685052qaa.76.1399681248046; Fri, 09 May 2014 17:20:48 -0700 (PDT) Sender: adrian.chadd@gmail.com Received: by 10.224.191.201 with HTTP; Fri, 9 May 2014 17:20:47 -0700 (PDT) In-Reply-To: <536D6999.6080402@freebsd.org> References: <530508B7.7060102@FreeBSD.org> <201405091349.14381.jhb@freebsd.org> <536D3184.9070302@freebsd.org> <536D6999.6080402@freebsd.org> Date: Fri, 9 May 2014 17:20:47 -0700 X-Google-Sender-Auth: QkuKd_5f0R3lKJzD650D5r2BSVc Message-ID: Subject: Re: [rfc] bind per-cpu timeout threads to each CPU From: Adrian Chadd To: Peter Grehan Content-Type: text/plain; charset=UTF-8 Cc: Alexander Motin , freebsd-current , "freebsd-arch@freebsd.org" X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 10 May 2014 00:20:49 -0000 On 9 May 2014 16:49, Peter Grehan wrote: >> Yup. I've just done that. >> >> http://people.freebsd.org/~adrian/norse/20140509-swi-pin-1.diff > > > Thanks, that'll work. > > >> Which workloads are you thinking about? Maybe we could introduce some >> higher level description of which CPU(s) at boot time to do "freebsd >> stuff" on, and then don't start things like pcpu swi's and NIC threads >> on those CPUs. > > > A classic case is partitioning cores into control and data plane groups. > I'm sure there are lots more. What's nice about cpuset is that the choice > and change can be dynamic, so long as there aren't pinned threads in the > default set. > > An option to restrict FreeBSD pCPU threads to a subset could be useful. Cool. >> Can you think of situations where we'd want to have per-cpu swi's even >> _running_ for CPUs that you want to dedicate to other things? There's >> nothing stopping you from scheduling a callout on a different target >> CPU. > At least for the uses I know, it's complete isolation from other > processing, kernel threads included. The 'freebsd stuff' info you mentioned > should be sufficient. Cool. I'll look at committing this stuff in the next few hours. It can always easily be undone. I'll revisit the "limit pcpu threads to cpuids " idea later. -a