{"id":813790,"url":"http://patchwork.ozlabs.org/api/patches/813790/?format=json","web_url":"http://patchwork.ozlabs.org/project/skiboot/patch/20170914111346.11970-3-npiggin@gmail.com/","project":{"id":44,"url":"http://patchwork.ozlabs.org/api/projects/44/?format=json","name":"skiboot firmware development","link_name":"skiboot","list_id":"skiboot.lists.ozlabs.org","list_email":"skiboot@lists.ozlabs.org","web_url":"http://github.com/open-power/skiboot","scm_url":"http://github.com/open-power/skiboot","webscm_url":"","list_archive_url":"","list_archive_url_format":"","commit_url_format":""},"msgid":"<20170914111346.11970-3-npiggin@gmail.com>","list_archive_url":null,"date":"2017-09-14T11:13:43","name":"[2/5] cpu: idle move the minimum PM latency into the idle code","commit_ref":null,"pull_url":null,"state":"accepted","archived":false,"hash":"4d32c9d9ae67eeaaeb54200b386c158a88b2b147","submitter":{"id":69518,"url":"http://patchwork.ozlabs.org/api/people/69518/?format=json","name":"Nicholas Piggin","email":"npiggin@gmail.com"},"delegate":null,"mbox":"http://patchwork.ozlabs.org/project/skiboot/patch/20170914111346.11970-3-npiggin@gmail.com/mbox/","series":[{"id":3075,"url":"http://patchwork.ozlabs.org/api/series/3075/?format=json","web_url":"http://patchwork.ozlabs.org/project/skiboot/list/?series=3075","date":"2017-09-14T11:13:41","name":"POWER9 idle pm support","version":1,"mbox":"http://patchwork.ozlabs.org/series/3075/mbox/"}],"comments":"http://patchwork.ozlabs.org/api/patches/813790/comments/","check":"pending","checks":"http://patchwork.ozlabs.org/api/patches/813790/checks/","tags":{},"related":[],"headers":{"Return-Path":"<skiboot-bounces+incoming=patchwork.ozlabs.org@lists.ozlabs.org>","X-Original-To":["incoming@patchwork.ozlabs.org","skiboot@lists.ozlabs.org"],"Delivered-To":["patchwork-incoming@bilbo.ozlabs.org","skiboot@lists.ozlabs.org"],"Received":["from lists.ozlabs.org (lists.ozlabs.org [IPv6:2401:3900:2:1::3])\n\t(using TLSv1.2 with cipher ADH-AES256-GCM-SHA384 (256/256 bits))\n\t(No client certificate requested)\n\tby ozlabs.org (Postfix) with ESMTPS id 3xtGCN29nhz9sMN\n\tfor <incoming@patchwork.ozlabs.org>;\n\tThu, 14 Sep 2017 21:14:56 +1000 (AEST)","from lists.ozlabs.org (lists.ozlabs.org [IPv6:2401:3900:2:1::3])\n\tby lists.ozlabs.org (Postfix) with ESMTP id 3xtGCN10JBzDrYk\n\tfor <incoming@patchwork.ozlabs.org>;\n\tThu, 14 Sep 2017 21:14:56 +1000 (AEST)","from mail-pg0-x244.google.com (mail-pg0-x244.google.com\n\t[IPv6:2607:f8b0:400e:c05::244])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128\n\tbits)) (No client certificate requested)\n\tby lists.ozlabs.org (Postfix) with ESMTPS id 3xtGBZ1W0CzDrCn\n\tfor <skiboot@lists.ozlabs.org>; Thu, 14 Sep 2017 21:14:14 +1000 (AEST)","by mail-pg0-x244.google.com with SMTP id v82so1536168pgb.1\n\tfor <skiboot@lists.ozlabs.org>; Thu, 14 Sep 2017 04:14:13 -0700 (PDT)","from roar.au.ibm.com (203-219-56-202.tpgi.com.au. [203.219.56.202])\n\tby smtp.gmail.com with ESMTPSA id\n\tc2sm29289224pgq.61.2017.09.14.04.14.09\n\t(version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128);\n\tThu, 14 Sep 2017 04:14:11 -0700 (PDT)"],"Authentication-Results":["ozlabs.org;\n\tdkim=fail reason=\"signature verification failed\" (2048-bit key;\n\tunprotected) header.d=gmail.com header.i=@gmail.com\n\theader.b=\"PYlLObqR\"; dkim-atps=neutral","lists.ozlabs.org;\n\tdkim=fail reason=\"signature verification failed\" (2048-bit key;\n\tunprotected) header.d=gmail.com header.i=@gmail.com\n\theader.b=\"PYlLObqR\"; dkim-atps=neutral","ozlabs.org;\n\tspf=pass (mailfrom) smtp.mailfrom=gmail.com\n\t(client-ip=2607:f8b0:400e:c05::244; helo=mail-pg0-x244.google.com;\n\tenvelope-from=npiggin@gmail.com; receiver=<UNKNOWN>)","lists.ozlabs.org; dkim=pass (2048-bit key;\n\tunprotected) header.d=gmail.com header.i=@gmail.com\n\theader.b=\"PYlLObqR\"; dkim-atps=neutral"],"DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;\n\th=from:to:cc:subject:date:message-id:in-reply-to:references;\n\tbh=VgetD4dJlzMTe4SQ5O6X3DdP881PpBTHglEPkDp5404=;\n\tb=PYlLObqRZHHsqiKwKOelHWBL2a5yta1kd0QMNOPURe2AYqw9/fSFTcrYiGwR/UfLZX\n\tzi+h0VspATnsMpcI+ST3GD34K4RmlKF3sAoemDBQEppouadcuZGKvAQhJmsMrGT8xj22\n\t+O0HJrhYjnG1IFEvlliEt12gX4xpvyS+ptRxnAaJuUzeBMqpR6Zqa/SfdAhachlNPO0Z\n\tDUKOrcfuCh6oaUc8OA4fq3pHv7DaIcH9zlfHZQKaJ3ry/DeV3gXZ+qLg620HVP4VWoGo\n\tgA7UpPeB7glvJyeUlBJ8Vy+zfpyvlbInDFFM6q1JaV0D2/6K1Bx/4qwDFVWb+O4jGFDL\n\tZgWg==","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20161025;\n\th=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to\n\t:references;\n\tbh=VgetD4dJlzMTe4SQ5O6X3DdP881PpBTHglEPkDp5404=;\n\tb=d/iLwZwFVeRCOY7yEGCS6in+un87WFGCA9oNbwkzLkBsMwQLMXyp5nzWRPTI1bYkDp\n\tsTj6BaVu8xOZfwl6UL9YF8hZSfebM2gBzat2PN/yOpvT0TvHEsiCfveMRb7BdLUtls0+\n\tGpkuVBjaOVPpxWRO2UiC0IXTS8J7q3f82aydN0CP0H1RL2v5IHRtDZCDRIxrRg+n671F\n\tkwrno8+MrvUhY8t6dxPKgI04+jJVABAYV497lbTPrlnS6/+eqMt79qAq3mpJvhPLYzHb\n\tbn7LwI5vxXl3ImDdoO26DylNPys8Osfk8D5mk9CjprxkuLSKm+K6JAa6mDHg/oYFhg8f\n\t8xQg==","X-Gm-Message-State":"AHPjjUibG5qSAPUmMuWXyvqD6Rcxd9tHge3SfAAqgUlutPZD2KsK89d+\n\tfvYv3ZA9oJsu82xX","X-Google-Smtp-Source":"ADKCNb7OXYcpaBkG69clbp69upefALyXDFtwXPBMpUkewKs4uh5PkdxsqJMIutZbOutmM1BzwXdZkA==","X-Received":"by 10.99.104.138 with SMTP id\n\td132mr10320012pgc.268.1505387652007; \n\tThu, 14 Sep 2017 04:14:12 -0700 (PDT)","From":"Nicholas Piggin <npiggin@gmail.com>","To":"skiboot@lists.ozlabs.org","Date":"Thu, 14 Sep 2017 21:13:43 +1000","Message-Id":"<20170914111346.11970-3-npiggin@gmail.com>","X-Mailer":"git-send-email 2.13.3","In-Reply-To":"<20170914111346.11970-1-npiggin@gmail.com>","References":"<20170914111346.11970-1-npiggin@gmail.com>","Subject":"[Skiboot] [PATCH 2/5] cpu: idle move the minimum PM latency into\n\tthe idle code","X-BeenThere":"skiboot@lists.ozlabs.org","X-Mailman-Version":"2.1.24","Precedence":"list","List-Id":"Mailing list for skiboot development <skiboot.lists.ozlabs.org>","List-Unsubscribe":"<https://lists.ozlabs.org/options/skiboot>,\n\t<mailto:skiboot-request@lists.ozlabs.org?subject=unsubscribe>","List-Archive":"<http://lists.ozlabs.org/pipermail/skiboot/>","List-Post":"<mailto:skiboot@lists.ozlabs.org>","List-Help":"<mailto:skiboot-request@lists.ozlabs.org?subject=help>","List-Subscribe":"<https://lists.ozlabs.org/listinfo/skiboot>,\n\t<mailto:skiboot-request@lists.ozlabs.org?subject=subscribe>","Cc":"\"Gautham R . Shenoy\" <ego@linux.vnet.ibm.com>","MIME-Version":"1.0","Content-Type":"text/plain; charset=\"utf-8\"","Content-Transfer-Encoding":"base64","Errors-To":"skiboot-bounces+incoming=patchwork.ozlabs.org@lists.ozlabs.org","Sender":"\"Skiboot\"\n\t<skiboot-bounces+incoming=patchwork.ozlabs.org@lists.ozlabs.org>"},"content":"The caller isn't in a position to know about PM heuristics, so\nmove the minimum timeout before power managmeent into the cpu idle\ncall. There is no functional change.\n\nSigned-off-by: Nicholas Piggin <npiggin@gmail.com>\n---\n core/cpu.c      | 3 ++-\n core/timebase.c | 4 +---\n include/cpu.h   | 2 +-\n 3 files changed, 4 insertions(+), 5 deletions(-)","diff":"diff --git a/core/cpu.c b/core/cpu.c\nindex 0bdf8299..2a95dff6 100644\n--- a/core/cpu.c\n+++ b/core/cpu.c\n@@ -402,10 +402,11 @@ void cpu_idle_job(void)\n \t}\n }\n \n-void cpu_idle_delay(unsigned long delay, unsigned long min_pm)\n+void cpu_idle_delay(unsigned long delay)\n {\n \tunsigned long now = mftb();\n \tunsigned long end = now + delay;\n+\tunsigned long min_pm = usecs_to_tb(10);\n \n \tif (pm_enabled && delay > min_pm) {\n \t\tfor (;;) {\ndiff --git a/core/timebase.c b/core/timebase.c\nindex ca961c39..f2dff44b 100644\n--- a/core/timebase.c\n+++ b/core/timebase.c\n@@ -66,14 +66,12 @@ void time_wait(unsigned long duration)\n \n void time_wait_nopoll(unsigned long duration)\n {\n-\tunsigned long min_sleep = usecs_to_tb(10);\n-\n \tif (this_cpu()->tb_invalid) {\n \t\tcpu_relax();\n \t\treturn;\n \t}\n \n-\tcpu_idle_delay(duration, min_sleep);\n+\tcpu_idle_delay(duration);\n }\n \n void time_wait_ms(unsigned long ms)\ndiff --git a/include/cpu.h b/include/cpu.h\nindex fd3acf77..f08940f7 100644\n--- a/include/cpu.h\n+++ b/include/cpu.h\n@@ -268,7 +268,7 @@ extern unsigned long __attrconst cpu_stack_bottom(unsigned int pir);\n extern unsigned long __attrconst cpu_stack_top(unsigned int pir);\n \n extern void cpu_idle_job(void);\n-extern void cpu_idle_delay(unsigned long delay, unsigned long min_pm);\n+extern void cpu_idle_delay(unsigned long delay);\n \n extern void cpu_set_radix_mode(void);\n extern void cpu_fast_reboot_complete(void);\n","prefixes":["2/5"]}