Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754924Ab2EXNyp (ORCPT ); Thu, 24 May 2012 09:54:45 -0400 Received: from mga09.intel.com ([134.134.136.24]:4215 "EHLO mga09.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752481Ab2EXNyo (ORCPT ); Thu, 24 May 2012 09:54:44 -0400 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="4.67,352,1309762800"; d="scan'208";a="144203435" Message-ID: <4FBE3D95.8030501@intel.com> Date: Thu, 24 May 2012 21:54:29 +0800 From: Alex Shi User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:9.0) Gecko/20111229 Thunderbird/9.0 MIME-Version: 1.0 To: Arjan van de Ven CC: Peter Zijlstra , Andrew Lutomirski , Jan Beulich , borislav.petkov@amd.com, arnd@arndb.de, akinobu.mita@gmail.com, eric.dumazet@gmail.com, fweisbec@gmail.com, rostedt@goodmis.org, hughd@google.com, jeremy@goop.org, len.brown@intel.com, tony.luck@intel.com, yongjie.ren@intel.com, kamezawa.hiroyu@jp.fujitsu.com, seto.hidetoshi@jp.fujitsu.com, penberg@kernel.org, yinghai@kernel.org, tglx@linutronix.de, akpm@linux-foundation.org, ak@linux.intel.com, avi@redhat.com, dhowells@redhat.com, mingo@redhat.com, riel@redhat.com, cpw@sgi.com, steiner@sgi.com, linux-kernel@vger.kernel.org, viro@zeniv.linux.org.uk, hpa@zytor.com Subject: Re: [PATCH v7 8/8] x86/tlb: just do tlb flush on one of siblings of SMT References: <1337782555-8088-1-git-send-email-alex.shi@intel.com> <1337782555-8088-9-git-send-email-alex.shi@intel.com> <4FBD18D20200007800085951@nat28.tlf.novell.com> <1337792984.9783.37.camel@laptop> <1337793338.9783.38.camel@laptop> <1337845230.9783.51.camel@laptop> <1337865811.9783.152.camel@laptop> <4FBE39FE.4050001@linux.intel.com> In-Reply-To: <4FBE39FE.4050001@linux.intel.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1873 Lines: 45 On 05/24/2012 09:39 PM, Arjan van de Ven wrote: > On 5/24/2012 6:23 AM, Peter Zijlstra wrote: >> On Thu, 2012-05-24 at 06:19 -0700, Andrew Lutomirski wrote: >>> >>> A decent heuristic might be to prefer idle SMT siblings for TLB >>> invalidation. I don't know what effect that would have on power >>> consumption (it would be rather bad if idling one SMT thread while the >>> other one is busy saves much power). > > we really really shouldn't do flushing of tlb's on only one half of SMT. > SMT sibblings have their own TLB pool at least on some of Intels chips. That is also the biggest question I want to know. Actually, some documents, wiki said the SMT sibling just has process registers and interrupt part, no any tlb/l1 cache etc, (like intel's doc vol6iss1_hyper_threading_technology.pdf). And the patch runs well on NHM EP/WSM EP/NHM EX/SNB EP CPUs. But hard to get such clearly per cpu info of SMT/HT, so, what the detailed Intel chips has 'TLB pool' on SMT? > > Also, note that on anything sane, we flush the tlb's in software before > going to an Idle state, so that we don't have to wake idle cpus up to > flush their TLBs (except for "global tlbs", but those change very very > very rarely hopefully) > >> >> Right, I've never really understood how C-states and SMT go together. >> Arjan recently implied waking a thread sibling from C-state was >> 'expensive' which on first thought seems daft, the core is running >> already. > > in order to wake *anything* you need to send an IPI to it, it has to > exit the idle loop etc etc. It's not expensive-expensive, but it > certainly is not free either. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/