From owner-freebsd-hackers@FreeBSD.ORG Fri Feb 14 09:22:35 2014 Return-Path: Delivered-To: freebsd-hackers@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 B7D30568; Fri, 14 Feb 2014 09:22:35 +0000 (UTC) Received: from mail-vc0-x230.google.com (mail-vc0-x230.google.com [IPv6:2607:f8b0:400c:c03::230]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 5BE6E1222; Fri, 14 Feb 2014 09:22:35 +0000 (UTC) Received: by mail-vc0-f176.google.com with SMTP id la4so9138450vcb.35 for ; Fri, 14 Feb 2014 01:22:34 -0800 (PST) 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=ivC0a4n2HHy8ApjJC3TkB6Ds8nhM2LrQ8JT0ClCKB40=; b=JzoyMgcYDC5ghKjOx3kfR+8LvG9d8d3fYW+gknqJVQZVCJSgNVqIo38fRgL/t5Dlj+ OZT2ZkQzDeLUEyTsCKB6s/JEM2C+5h1R5Xnatcljkp85Eb4BOcJESE8UPTLUdNi0q9Ds eOQ7y34SPUEnm0h879JmRPrIaKHfjlBLtCjLelph6G8WafHKLoJz0lRbjpabQhzd6Kq/ VdNwiPJVX/jhI8KpUSNDL+bDkXwxI4xoVdcgEFFlOw8V+cIX7gVNNB31iUPuvRBZ7Yhm +QgPnClFP954GalGd3PTBAHHAnEGneq4Kfa+8LcoOI2ivWdK59Z2ONi8N9axSO2o+lyo 0xXw== MIME-Version: 1.0 X-Received: by 10.52.247.231 with SMTP id yh7mr325212vdc.34.1392369754283; Fri, 14 Feb 2014 01:22:34 -0800 (PST) Sender: adrian.chadd@gmail.com Received: by 10.220.113.199 with HTTP; Fri, 14 Feb 2014 01:22:34 -0800 (PST) In-Reply-To: References: Date: Fri, 14 Feb 2014 01:22:34 -0800 X-Google-Sender-Auth: R5K41CJg3nunNfEWN3a5V0YcGOk Message-ID: Subject: Re: can the scheduler decide to schedule an interrupted but runnable thread on another CPU core? What are the implications for code? From: Adrian Chadd To: Ryan Stone Content-Type: text/plain; charset=ISO-8859-1 Cc: "freebsd-hackers@freebsd.org" , "freebsd-arch@freebsd.org" X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 14 Feb 2014 09:22:35 -0000 Ok, so now I remember the other odd thing. I was seeing the sending context(s) jumping from one CPU to another during flowtable_insert_common(), around the locking bits. But I thread pinned all the sender user threads! So, why would the senders still be scheduled on other CPUs if I've pinned the userland threads? (and yes, I verified that the userland threads weren't moving around.) -a