From owner-freebsd-current@FreeBSD.ORG Fri May 9 03:43:41 2014 Return-Path: Delivered-To: freebsd-current@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 48BCB156; Fri, 9 May 2014 03:43:41 +0000 (UTC) Received: from mail-qg0-x22a.google.com (mail-qg0-x22a.google.com [IPv6:2607:f8b0:400d:c04::22a]) (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 C9E2FBAE; Fri, 9 May 2014 03:43:40 +0000 (UTC) Received: by mail-qg0-f42.google.com with SMTP id q107so3956682qgd.1 for ; Thu, 08 May 2014 20:43:40 -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=ATMJLviVwmwdf45KoU4fojsPVik27wgy2hx46+60Obk=; b=d1vp0gGXFhdI7ZbFC8yUVaj4wrEKfeVJkOpRFLiF3YJZjLk+7IhrOEZg2bMbSt+uUc /Et1o/sy0BVM6CKmeUyDJfxfyhXP9EKs+usogHnL50Md4+cWy252POZHXPqpRvNR+y/S gCc4ispm8b6U8ciBw8AparMJiD0Ei8DDAE6fFw/1+XWI7gf87wVVFu2kQ2V8+0dm/ZL6 xypXhCkx9YMHDMW4G1wPjExGAJ/yCJN5e+4xqDT3bX9uKV428XrCkHjQ6O2IiV0AgHJx u5FWUAWf67cXclCh/ueshs+CsQEHrQmGR4uLiQNbWaefL8h90uj+YsgKSjJQ82MGAO6S 2A1Q== MIME-Version: 1.0 X-Received: by 10.140.96.51 with SMTP id j48mr10396376qge.24.1399607020007; Thu, 08 May 2014 20:43:40 -0700 (PDT) Sender: adrian.chadd@gmail.com Received: by 10.224.191.201 with HTTP; Thu, 8 May 2014 20:43:39 -0700 (PDT) In-Reply-To: References: <530508B7.7060102@FreeBSD.org> <201402191602.54465.jhb@freebsd.org> <201402201417.34148.jhb@freebsd.org> Date: Thu, 8 May 2014 20:43:39 -0700 X-Google-Sender-Auth: hSGWD_R_1S6yPq0xpmFKcVndWRI 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-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: Fri, 09 May 2014 03:43:41 -0000 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, -a On 20 February 2014 13:48, Adrian Chadd wrote: > On 20 February 2014 11:17, John Baldwin wrote: > >> (A further variant of this would be to divorce cpu0's swi from the >> catch-all softclock and let the catch-all softclock float, but bind >> all the per-cpu swis) > > I like this idea. If something (eg per-CPU TCP timers, if it's turned > on) makes a very specific decision about the CPU then it should be > fixed. Otherwise a lot of the underlying assumptions for things like > RSS just aren't guaranteed to hold. > > It could also perhaps extend to some abstract pool of CPUs later, if > we wanted to do things like one flowing swi per socket or whatnot when > we start booting on 1024 core boxes... > > -a