From owner-freebsd-arch@FreeBSD.ORG Wed Oct 24 19:13:40 2012 Return-Path: Delivered-To: freebsd-arch@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id F39BCBEF for ; Wed, 24 Oct 2012 19:13:39 +0000 (UTC) (envelope-from jim.harris@gmail.com) Received: from mail-qa0-f47.google.com (mail-qa0-f47.google.com [209.85.216.47]) by mx1.freebsd.org (Postfix) with ESMTP id 9D4048FC08 for ; Wed, 24 Oct 2012 19:13:39 +0000 (UTC) Received: by mail-qa0-f47.google.com with SMTP id i29so3378439qaf.13 for ; Wed, 24 Oct 2012 12:13:38 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:date:x-google-sender-auth:message-id:subject :from:to:content-type; bh=0tR+de0BkYK59HvWAcO2UELAwzU0nYIehjrnTlLw94k=; b=AA2lNsglcaTqREsKH9FYTNZfArUW717TphSwoEhV6wXSEkcfarKI9stbFf01S2dfDL NmGp1KxjRAw87bWk01RBty14YXbVJDCbKZwYN2798EANbkQiA5bWNszX9Azgxh1yUmBg 1iDFrPYxiwqxLP2pnmk7m05QEvj+73ADRDXYkFIJAWOTVlzeInHu/bBPMFYnDZl7PeXy MiDYTWTSHtwOZTIQiRH2IF5cQxmhje7OP8RvOH99ZbvIqRcXmk91igriPbsUIJYV3ewI a/gH4qwcCchXKe2zBDrD3HKTMF7KVQJgahUXLCjxQQvozrhws0MM2P26eoPeuImquaPB F/rQ== MIME-Version: 1.0 Received: by 10.49.28.231 with SMTP id e7mr9585952qeh.49.1351106018855; Wed, 24 Oct 2012 12:13:38 -0700 (PDT) Sender: jim.harris@gmail.com Received: by 10.49.35.37 with HTTP; Wed, 24 Oct 2012 12:13:38 -0700 (PDT) Date: Wed, 24 Oct 2012 12:13:38 -0700 X-Google-Sender-Auth: EQ8gRcYZSuFlGk_DJZK1cDn7jng Message-ID: Subject: CACHE_LINE_SIZE on x86 From: Jim Harris To: freebsd-arch@freebsd.org Content-Type: text/plain; charset=ISO-8859-1 X-BeenThere: freebsd-arch@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: Discussion related to FreeBSD architecture List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 24 Oct 2012 19:13:40 -0000 While investigating padding of the ULE scheduler locks (r242014), I recently discovered that CACHE_LINE_SIZE on x86 is defined as 128 (not 64). From what I can tell from svn logs, this was to account for 128 byte cache "sectors" that existed on the NetBurst micro architecture CPUs. I'm curious if there's been consideration in changing this back to 64? With maybe a kernel config option to modify it? On 2S systems (but not on 1S systems), I see a benefit using CACHE_LINE_SIZE=128 for the scheduler locks. I suspect this is related to data prefetching but am still running experiments to verify. Thanks, -Jim