Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/patches/1340953/?format=api
{ "id": 1340953, "url": "http://patchwork.ozlabs.org/api/patches/1340953/?format=api", "web_url": "http://patchwork.ozlabs.org/project/skiboot/patch/20200804173223.36280-7-svaidy@linux.ibm.com/", "project": { "id": 44, "url": "http://patchwork.ozlabs.org/api/projects/44/?format=api", "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": "<20200804173223.36280-7-svaidy@linux.ibm.com>", "list_archive_url": null, "date": "2020-08-04T17:32:18", "name": "[v6,06/11] slw: Limit fused cores P9 to STOP0/1/2", "commit_ref": null, "pull_url": null, "state": "accepted", "archived": false, "hash": "9ee98f957f5a949370c203fa615d95ce0c9be8e4", "submitter": { "id": 76774, "url": "http://patchwork.ozlabs.org/api/people/76774/?format=api", "name": "Vaidyanathan Srinivasan", "email": "svaidy@linux.ibm.com" }, "delegate": null, "mbox": "http://patchwork.ozlabs.org/project/skiboot/patch/20200804173223.36280-7-svaidy@linux.ibm.com/mbox/", "series": [ { "id": 194127, "url": "http://patchwork.ozlabs.org/api/series/194127/?format=api", "web_url": "http://patchwork.ozlabs.org/project/skiboot/list/?series=194127", "date": "2020-08-04T17:32:14", "name": "Initial fused-core support for POWER9", "version": 6, "mbox": "http://patchwork.ozlabs.org/series/194127/mbox/" } ], "comments": "http://patchwork.ozlabs.org/api/patches/1340953/comments/", "check": "success", "checks": "http://patchwork.ozlabs.org/api/patches/1340953/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.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange X25519 server-signature RSA-PSS (4096 bits))\n\t(No client certificate requested)\n\tby ozlabs.org (Postfix) with ESMTPS id 4BLhlW0Yn4z9sTC\n\tfor <incoming@patchwork.ozlabs.org>; Wed, 5 Aug 2020 03:37:11 +1000 (AEST)", "from bilbo.ozlabs.org (lists.ozlabs.org [IPv6:2401:3900:2:1::3])\n\tby lists.ozlabs.org (Postfix) with ESMTP id 4BLhlV6kbSzDqgq\n\tfor <incoming@patchwork.ozlabs.org>; Wed, 5 Aug 2020 03:37:10 +1000 (AEST)", "from mx0a-001b2d01.pphosted.com (mx0b-001b2d01.pphosted.com\n [148.163.158.5])\n (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))\n (No client certificate requested)\n by lists.ozlabs.org (Postfix) with ESMTPS id 4BLhgX34LhzDqbC\n for <skiboot@lists.ozlabs.org>; Wed, 5 Aug 2020 03:33:44 +1000 (AEST)", "from pps.filterd (m0098416.ppops.net [127.0.0.1])\n by mx0b-001b2d01.pphosted.com (8.16.0.42/8.16.0.42) with SMTP id\n 074HXR4f172570; Tue, 4 Aug 2020 13:33:40 -0400", "from pps.reinject (localhost [127.0.0.1])\n by mx0b-001b2d01.pphosted.com with ESMTP id 32qby70aj8-1\n (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);\n Tue, 04 Aug 2020 13:33:40 -0400", "from m0098416.ppops.net (m0098416.ppops.net [127.0.0.1])\n by pps.reinject (8.16.0.36/8.16.0.36) with SMTP id 074HXeqW173863;\n Tue, 4 Aug 2020 13:33:40 -0400", "from ppma02fra.de.ibm.com (47.49.7a9f.ip4.static.sl-reverse.com\n [159.122.73.71])\n by mx0b-001b2d01.pphosted.com with ESMTP id 32qby70a3u-1\n (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);\n Tue, 04 Aug 2020 13:33:39 -0400", "from pps.filterd (ppma02fra.de.ibm.com [127.0.0.1])\n by ppma02fra.de.ibm.com (8.16.0.42/8.16.0.42) with SMTP id 074HVwDq009046;\n Tue, 4 Aug 2020 17:32:39 GMT", "from b06cxnps3075.portsmouth.uk.ibm.com\n (d06relay10.portsmouth.uk.ibm.com [9.149.109.195])\n by ppma02fra.de.ibm.com with ESMTP id 32n018a5m1-1\n (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);\n Tue, 04 Aug 2020 17:32:39 +0000", "from b06wcsmtp001.portsmouth.uk.ibm.com\n (b06wcsmtp001.portsmouth.uk.ibm.com [9.149.105.160])\n by b06cxnps3075.portsmouth.uk.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id\n 074HWbDV14287122\n (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK);\n Tue, 4 Aug 2020 17:32:37 GMT", "from b06wcsmtp001.portsmouth.uk.ibm.com (unknown [127.0.0.1])\n by IMSVA (Postfix) with ESMTP id 48BBFA405C;\n Tue, 4 Aug 2020 17:32:37 +0000 (GMT)", "from b06wcsmtp001.portsmouth.uk.ibm.com (unknown [127.0.0.1])\n by IMSVA (Postfix) with ESMTP id 0F739A4054;\n Tue, 4 Aug 2020 17:32:36 +0000 (GMT)", "from drishya.in.ibm.com (unknown [9.102.1.52])\n by b06wcsmtp001.portsmouth.uk.ibm.com (Postfix) with ESMTP;\n Tue, 4 Aug 2020 17:32:35 +0000 (GMT)" ], "Authentication-Results": [ "ozlabs.org;\n dmarc=fail (p=none dis=none) header.from=linux.ibm.com", "lists.ozlabs.org; spf=pass (sender SPF authorized)\n smtp.mailfrom=linux.ibm.com (client-ip=148.163.158.5;\n helo=mx0a-001b2d01.pphosted.com; envelope-from=svaidy@linux.ibm.com;\n receiver=<UNKNOWN>)", "lists.ozlabs.org;\n dmarc=pass (p=none dis=none) header.from=linux.ibm.com" ], "From": "Vaidyanathan Srinivasan <svaidy@linux.ibm.com>", "To": "\"Oliver O'Halloran\" <oohall@gmail.com>", "Date": "Tue, 4 Aug 2020 23:02:18 +0530", "Message-Id": "<20200804173223.36280-7-svaidy@linux.ibm.com>", "X-Mailer": "git-send-email 2.26.2", "In-Reply-To": "<20200804173223.36280-1-svaidy@linux.ibm.com>", "References": "<20200804173223.36280-1-svaidy@linux.ibm.com>", "MIME-Version": "1.0", "X-TM-AS-GCONF": "00", "X-Proofpoint-Virus-Version": "vendor=fsecure engine=2.50.10434:6.0.235, 18.0.687\n definitions=2020-08-04_04:2020-08-03,\n 2020-08-04 signatures=0", "X-Proofpoint-Spam-Details": "rule=outbound_notspam policy=outbound score=0\n priorityscore=1501\n spamscore=0 adultscore=0 clxscore=1015 mlxscore=0 phishscore=0\n malwarescore=0 bulkscore=0 mlxlogscore=999 lowpriorityscore=0\n suspectscore=0 impostorscore=0 classifier=spam adjust=0 reason=mlx\n scancount=1 engine=8.12.0-2006250000 definitions=main-2008040126", "Subject": "[Skiboot] [PATCH v6 06/11] slw: Limit fused cores P9 to STOP0/1/2", "X-BeenThere": "skiboot@lists.ozlabs.org", "X-Mailman-Version": "2.1.29", "Precedence": "list", "List-Id": "Mailing list for skiboot development <skiboot.lists.ozlabs.org>", "List-Unsubscribe": "<https://lists.ozlabs.org/options/skiboot>,\n <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 <mailto:skiboot-request@lists.ozlabs.org?subject=subscribe>", "Cc": "skiboot@lists.ozlabs.org, Michael Neuling <mikey@neuling.org>,\n Vaidyanathan Srinivasan <svaidy@linux.vnet.ibm.com>", "Content-Type": "text/plain; charset=\"us-ascii\"", "Content-Transfer-Encoding": "7bit", "Errors-To": "skiboot-bounces+incoming=patchwork.ozlabs.org@lists.ozlabs.org", "Sender": "\"Skiboot\"\n <skiboot-bounces+incoming=patchwork.ozlabs.org@lists.ozlabs.org>" }, "content": "From: Benjamin Herrenschmidt <benh@kernel.crashing.org>\n\nFROM: Benjamin Herrenschmidt <benh@kernel.crashing.org>\nLinux doesn't know how to properly restore state on \"both halves\" of\na fused core, so limit ourselves to STOP states that don't require\nHV state restore for bare metal kernels (KVM is still broken) until\nwe add a new representation for STOP states.\n\nThe new representation will have per-state versioning so that we\ncan control their individual enablement based on whether the OS\nhas the necessary workarounds to make them work.\n\nSigned-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>\nSigned-off-by: Michael Neuling <mikey@neuling.org>\nSigned-off-by: Vaidyanathan Srinivasan <svaidy@linux.vnet.ibm.com>\n---\n hw/slw.c | 82 +++++++++++++++++++++++++++++++++++++++++++++++++++++++-\n 1 file changed, 81 insertions(+), 1 deletion(-)", "diff": "diff --git a/hw/slw.c b/hw/slw.c\nindex beb129a8..625ee886 100644\n--- a/hw/slw.c\n+++ b/hw/slw.c\n@@ -688,6 +688,83 @@ static struct cpu_idle_states power9_mambo_cpu_idle_states[] = {\n \n };\n \n+/*\n+ * cpu_idle_states for fused core configuration\n+ * These will be a subset of power9 idle states.\n+ */\n+static struct cpu_idle_states power9_fusedcore_cpu_idle_states[] = {\n+\t{\n+\t\t.name = \"stop0_lite\", /* Enter stop0 with no state loss */\n+\t\t.latency_ns = 1000,\n+\t\t.residency_ns = 10000,\n+\t\t.flags = 0*OPAL_PM_DEC_STOP \\\n+\t\t | 0*OPAL_PM_TIMEBASE_STOP \\\n+\t\t | 0*OPAL_PM_LOSE_USER_CONTEXT \\\n+\t\t | 0*OPAL_PM_LOSE_HYP_CONTEXT \\\n+\t\t | 0*OPAL_PM_LOSE_FULL_CONTEXT \\\n+\t\t | 1*OPAL_PM_STOP_INST_FAST,\n+\t\t.pm_ctrl_reg_val = OPAL_PM_PSSCR_RL(0) \\\n+\t\t\t\t | OPAL_PM_PSSCR_MTL(3) \\\n+\t\t\t\t | OPAL_PM_PSSCR_TR(3),\n+\t\t.pm_ctrl_reg_mask = OPAL_PM_PSSCR_MASK },\n+\t{\n+\t\t.name = \"stop0\",\n+\t\t.latency_ns = 2000,\n+\t\t.residency_ns = 20000,\n+\t\t.flags = 0*OPAL_PM_DEC_STOP \\\n+\t\t | 0*OPAL_PM_TIMEBASE_STOP \\\n+\t\t | 1*OPAL_PM_LOSE_USER_CONTEXT \\\n+\t\t | 0*OPAL_PM_LOSE_HYP_CONTEXT \\\n+\t\t | 0*OPAL_PM_LOSE_FULL_CONTEXT \\\n+\t\t | 1*OPAL_PM_STOP_INST_FAST,\n+\t\t.pm_ctrl_reg_val = OPAL_PM_PSSCR_RL(0) \\\n+\t\t\t\t | OPAL_PM_PSSCR_MTL(3) \\\n+\t\t\t\t | OPAL_PM_PSSCR_TR(3) \\\n+\t\t\t\t | OPAL_PM_PSSCR_ESL \\\n+\t\t\t\t | OPAL_PM_PSSCR_EC,\n+\t\t.pm_ctrl_reg_mask = OPAL_PM_PSSCR_MASK },\n+\n+\t/* stop1_lite has been removed since it adds no additional benefit over stop0_lite */\n+\n+\t{\n+\t\t.name = \"stop1\",\n+\t\t.latency_ns = 5000,\n+\t\t.residency_ns = 50000,\n+\t\t.flags = 0*OPAL_PM_DEC_STOP \\\n+\t\t | 0*OPAL_PM_TIMEBASE_STOP \\\n+\t\t | 1*OPAL_PM_LOSE_USER_CONTEXT \\\n+\t\t | 0*OPAL_PM_LOSE_HYP_CONTEXT \\\n+\t\t | 0*OPAL_PM_LOSE_FULL_CONTEXT \\\n+\t\t | 1*OPAL_PM_STOP_INST_FAST,\n+\t\t.pm_ctrl_reg_val = OPAL_PM_PSSCR_RL(1) \\\n+\t\t\t\t | OPAL_PM_PSSCR_MTL(3) \\\n+\t\t\t\t | OPAL_PM_PSSCR_TR(3) \\\n+\t\t\t\t | OPAL_PM_PSSCR_ESL \\\n+\t\t\t\t | OPAL_PM_PSSCR_EC,\n+\t\t.pm_ctrl_reg_mask = OPAL_PM_PSSCR_MASK },\n+\t/*\n+\t * stop2_lite has been removed since currently it adds minimal benefit over stop2.\n+\t * However, the benefit is eclipsed by the time required to ungate the clocks\n+\t */\n+\n+\t{\n+\t\t.name = \"stop2\",\n+\t\t.latency_ns = 10000,\n+\t\t.residency_ns = 100000,\n+\t\t.flags = 0*OPAL_PM_DEC_STOP \\\n+\t\t | 0*OPAL_PM_TIMEBASE_STOP \\\n+\t\t | 1*OPAL_PM_LOSE_USER_CONTEXT \\\n+\t\t | 0*OPAL_PM_LOSE_HYP_CONTEXT \\\n+\t\t | 0*OPAL_PM_LOSE_FULL_CONTEXT \\\n+\t\t | 1*OPAL_PM_STOP_INST_FAST,\n+\t\t.pm_ctrl_reg_val = OPAL_PM_PSSCR_RL(2) \\\n+\t\t\t\t | OPAL_PM_PSSCR_MTL(3) \\\n+\t\t\t\t | OPAL_PM_PSSCR_TR(3) \\\n+\t\t\t\t | OPAL_PM_PSSCR_ESL \\\n+\t\t\t\t | OPAL_PM_PSSCR_EC,\n+\t\t.pm_ctrl_reg_mask = OPAL_PM_PSSCR_MASK },\n+};\n+\n static void slw_late_init_p9(struct proc_chip *chip)\n {\n \tstruct cpu_thread *c;\n@@ -772,7 +849,10 @@ void add_cpu_idle_state_properties(void)\n \t\tif (proc_chip_quirks & QUIRK_MAMBO_CALLOUTS) {\n \t\t\tstates = power9_mambo_cpu_idle_states;\n \t\t\tnr_states = ARRAY_SIZE(power9_mambo_cpu_idle_states);\n-\t\t} else {\n+ } else if (this_cpu()->is_fused_core) {\n+ states = power9_fusedcore_cpu_idle_states;\n+ nr_states = ARRAY_SIZE(power9_fusedcore_cpu_idle_states);\n+ } else {\n \t\t\tstates = power9_cpu_idle_states;\n \t\t\tnr_states = ARRAY_SIZE(power9_cpu_idle_states);\n \t\t}\n", "prefixes": [ "v6", "06/11" ] }