Received: by 2002:ad5:474a:0:0:0:0:0 with SMTP id i10csp2245316imu; Thu, 29 Nov 2018 01:44:17 -0800 (PST) X-Google-Smtp-Source: AFSGD/U9FaYLak1RHVLsRL3RF7HbgoNnx5xmLwoE+HoYxTwbILdDJaSz+wh4hHk11ZCVz4f5EuUZ X-Received: by 2002:a63:680a:: with SMTP id d10mr637742pgc.396.1543484657800; Thu, 29 Nov 2018 01:44:17 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1543484657; cv=none; d=google.com; s=arc-20160816; b=khJ3EkegnKd8UDj1hT5k8PCT5JqfY9zTFppIjYONKs/o+PIzkpUlR5XWqTzZOUbzSx YKK81g/QZHtcV3QfFVB5uLFksmDDVoj4Ys12J74SqXsxFaShW3HtZLO2tzHzkx9Z2BG+ Keb39Q8InhjvndErVK6OqduaT38RpMJ/hs3xu46P4jM+5s7ttQVyZ0Q0LtgmA+ubHkjT iGX6TW2BaQiAZYcRqLiJRUgq0Fbs+n6u4sVOfEIwv7SUik88oA/xuhHc0zVES0cHUTMm EkowG/MlHhbgubE9XMkzdtWSRyQeAJ5c1dONf9afcJLiSlba1gG1rh8AZM2CKmmyglDo 2w4w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version; bh=q3ijAJ5sLAr78eVQku4aR6EkHIiBZBHl3N8/WC3LbLg=; b=0XTd4uMfnM5nAdOv7UlvxLy15/qvqg1C9G3RogIlejonR9M4Z7s13K4u8LplFokx62 Al9YXC5Z8XSef/ip8IKnfV+Ry+wE7ba7E4sg55DxciAf2FLFtJLaFrliElWP3lxKCStW 19oZS/glK4vXqmhe4zBS2pCRdVidRP+oK65mfFrpBrMQ2lSKFo0dZbo3mBoiJ/JBRWqe bgRtTGGXn5QzA44d0v9DBUrsSH/sjHW5qyk69jDwDI9vJ2411mUUEq7jMxRX0cnQyiEi ToSQE2Vs4ALwupUgRkkJEKO9RWTAbyPoSEO9F6j6FTvER0DpVA+sk5thCZZAlOPsffTG /oeg== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id n125si1629480pga.179.2018.11.29.01.44.02; Thu, 29 Nov 2018 01:44:17 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727160AbeK2Urz (ORCPT + 99 others); Thu, 29 Nov 2018 15:47:55 -0500 Received: from mail-oi1-f193.google.com ([209.85.167.193]:38224 "EHLO mail-oi1-f193.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726621AbeK2Urz (ORCPT ); Thu, 29 Nov 2018 15:47:55 -0500 Received: by mail-oi1-f193.google.com with SMTP id a77so1080606oii.5; Thu, 29 Nov 2018 01:43:10 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=q3ijAJ5sLAr78eVQku4aR6EkHIiBZBHl3N8/WC3LbLg=; b=FTEIod/15tTTDV08t16Akdsbmhsk9+ggnzOiqBWkX7pzmMcknKAAA8++pcc786kvSm h0J3rsh99WfhobVpidPixTWNpS7+C+YBPo5leP4sQW8TzncSMMNzYKihDfuP/4V12O2/ CQJ9dJm8xrG+jhGzBFbse2+lsXNrf0C0sDpS6owIn+21HRT8pmXqEr0Cs2LzGwB0j6tO 5+Qjb5AWfCwEHyNccJOWLQFq/Wn1mLIwgn38XTXltHxY+Dr+2NEOYvqaFoWvsdJ7FbWI mjrW5N0DKnLd9+sHuKLwwzzMkG3kHK2bLEbia34GI3EHk+5F2rJOpF8DQgo3Ku/hhEsD dm2g== X-Gm-Message-State: AA+aEWavjWlKwoUFcMDPxjIC41e1/XMQHUDQ0cjZYqvu9N2rH+Njkk8G De3UXEvpD6DMScMyqprlkpyWrZOg+LENYKdmFpY= X-Received: by 2002:aca:d7c6:: with SMTP id o189-v6mr455879oig.33.1543484589284; Thu, 29 Nov 2018 01:43:09 -0800 (PST) MIME-Version: 1.0 References: <002c01d48770$eba6efa0$c2f4cee0$@net> In-Reply-To: <002c01d48770$eba6efa0$c2f4cee0$@net> From: "Rafael J. Wysocki" Date: Thu, 29 Nov 2018 10:42:56 +0100 Message-ID: Subject: Re: [RFC/RFT][PATCH v6] cpuidle: New timer events oriented governor for tickless systems To: Doug Smythies Cc: "Rafael J. Wysocki" , Giovanni Gherdovich , Srinivas Pandruvada , Peter Zijlstra , Linux Kernel Mailing List , Frederic Weisbecker , Mel Gorman , Daniel Lezcano , Linux PM Content-Type: text/plain; charset="UTF-8" Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Doug, On Thu, Nov 29, 2018 at 12:20 AM Doug Smythies wrote: > > On 2018.11.23 02:36 Rafael J. Wysocki wrote: > > v5 -> v6: > * Avoid applying poll_time_limit to non-polling idle states by mistake. > * Use idle duration measured by the governor for everything (as it likely is > more accurate than the one measured by the core). > > -- above missing-- (see follow up e-mail from Rafael) > > * Rename SPIKE to PULSE. > * Do not run pattern detection upfront. Instead, use recent idle duration > values to refine the state selection after finding a candidate idle state. > * Do not use the expected idle duration as an extra latency constraint > (exit latency is less than the target residency for all of the idle states > known to me anyway, so this doesn't change anything in practice). > > Hi Rafael, > > I did some minimal testing on teov6, using kernel 4.20-rc3 as my baseline > reference kernel. > > Test 1: Phoronix bdench test, all options: 1, 6, 12, 48, 128, 256 clients. > > Note: because it uses the disk, the dbench test is somewhat non-repeatable. > However, if particular attention is paid to not doing anything else with > the disk between tests, then it seems to be repeatable to within about 6%. > > Anyway no significant difference observed between kernel 4.20-rc3 and the > same with the teov6 patch. > > Test 2: Pipe test, non cross core. (And idle state 0 test, really) > I ran 4 pipe tests, 1 for each of my 4 cores, @2 CPUs per core. > Thus, pretty much only idle state 0 was ever used. > Processor package power was similar for both kernels. > teov6 entered/exited idle state 0 about 60,984 times/second/cpu. > -rc3 entered/exited idle state 0 about 62,806 times/second/cpu. > There was a difference in percentage time spent in idle state 0, > with kernel 4.20-rc3 spending 0.2441% in idle state 0 verses > teov6 at 0.0641%. > > For throughput, teov6 was 1.4% faster. > > Test 3: was an attempt to sweep through a preference for > all idle states. > > 40 threads were launched with nothing to do except sleep > for a variable duration of 1 to 500 uSec, each step was > run for 1 minute. With 1 minute idle before the test and a few > minutes idle after, the total test duration was about 505 minutes. > Recall that when one asks for a short sleep of 1 uSec, they actually > get about 50 uSec, due to overheads. So I use 40 threads in an attempt > to get the average time between wakeup events per CPU down somewhat. > > The results are here: > http://fast.smythies.com/linux-pm/k420/k420-pn-sweep-teo6-2.htm > > I might try to get some histogram information at a later date. Thank you for the results, much appreciated!