From owner-freebsd-arch@FreeBSD.ORG Fri May 9 19:34:00 2014 Return-Path: Delivered-To: freebsd-arch@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 ESMTPS id 323D1928; Fri, 9 May 2014 19:34:00 +0000 (UTC) Received: from mail-qg0-x22d.google.com (mail-qg0-x22d.google.com [IPv6:2607:f8b0:400d:c04::22d]) (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 B4F4CB18; Fri, 9 May 2014 19:33:59 +0000 (UTC) Received: by mail-qg0-f45.google.com with SMTP id z60so4905189qgd.4 for ; Fri, 09 May 2014 12:33:58 -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=Ii3i/oIW7SdAGZEjjWyXf5td+yfUZ2qVfppDK6uGZYY=; b=XeWBWeS+IEjaTfKoVOAOa5OZRgA6PK0C38ipGJETO9005Jo3rWC3+kqphiHtvJG10e hPmGepGYT5x0/cYPSW39zQ8/g/L1QXcu29/BHY3ogQctIkDmLj4LusrACPeBmgj4pOFQ ZyJn9KcuPTbNBE7jm0raro9JQ12Y9KAb0ScjwW80Gqfo2u9KT/Pq6Ppr7DEe5UhFTmWt hnlfMAMXyXCDCXs0fekXJ78NbLkDaE+JcHOCMtXEhjb2Hbq5BY7EzrIj38H6ALCT2j4a asOXVilgrJRztsy7oeahg2GZ3KSYLAPqMcEUJhhJLmXc8RRH2dNepixLkxzb2Lw+Fwsr 5P6w== MIME-Version: 1.0 X-Received: by 10.224.16.199 with SMTP id p7mr18074687qaa.76.1399664038874; Fri, 09 May 2014 12:33:58 -0700 (PDT) Sender: adrian.chadd@gmail.com Received: by 10.224.191.201 with HTTP; Fri, 9 May 2014 12:33:58 -0700 (PDT) In-Reply-To: <201405091349.14381.jhb@freebsd.org> References: <530508B7.7060102@FreeBSD.org> <201405091349.14381.jhb@freebsd.org> Date: Fri, 9 May 2014 12:33:58 -0700 X-Google-Sender-Auth: ABsMDqC0pDXKRt-5xIGqQQFDQCc Message-ID: Subject: Re: [rfc] bind per-cpu timeout threads to each CPU From: Adrian Chadd To: John Baldwin Content-Type: text/plain; charset=UTF-8 Cc: Alexander Motin , freebsd-current , "freebsd-arch@freebsd.org" X-BeenThere: freebsd-arch@freebsd.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: Discussion related to FreeBSD architecture List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 09 May 2014 19:34:00 -0000 On 9 May 2014 10:49, John Baldwin wrote: > On Thursday, May 08, 2014 11:43:39 pm Adrian Chadd wrote: >> Hi, >> >> I'd like to revisit this now. >> >> I'd like to commit this stuff as-is and then take some time to revisit >> the catch-all softclock from cpu0 swi. It's more complicated than it >> needs to be as it just assumes timeout_cpu == cpuid of cpu 0. So >> there's no easy way to slide in a new catch-all softclock. >> >> Once that's done I'd like to then experiment with turning on the pcpu >> tcp timer stuff and gluing that into the RSS CPU ID / netisr ID stuff. >> >> Thanks, > > To be clear, are you going to commit the change to bind all but CPU 0 > to their CPU but let the "default" swi float for now? I think that is > fine to commit, but I wouldn't want to bind the "default" swi for now. I'd like to do it in the other order and bind everything, so things like the per-CPU TCP timer thing can be flipped on for RSS and actually be useful. I'm looking into what it'd take to create a separate default swi as well as a cpu-0 swi but as I said, it's pretty hairy there. How about i instead do the comprimise: * i'll pin all other swi's * default swi isn't pinned by default, but one can flip on a sysctl at boot time to pin it How's that sound? -a