Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/patches/808745/?format=api
{ "id": 808745, "url": "http://patchwork.ozlabs.org/api/patches/808745/?format=api", "web_url": "http://patchwork.ozlabs.org/project/linuxppc-dev/patch/9d924c2f-9ad7-f544-519c-5ae967105069@linux.vnet.ibm.com/", "project": { "id": 2, "url": "http://patchwork.ozlabs.org/api/projects/2/?format=api", "name": "Linux PPC development", "link_name": "linuxppc-dev", "list_id": "linuxppc-dev.lists.ozlabs.org", "list_email": "linuxppc-dev@lists.ozlabs.org", "web_url": "https://github.com/linuxppc/wiki/wiki", "scm_url": "https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git", "webscm_url": "https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git/", "list_archive_url": "https://lore.kernel.org/linuxppc-dev/", "list_archive_url_format": "https://lore.kernel.org/linuxppc-dev/{}/", "commit_url_format": "https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git/commit/?id={}" }, "msgid": "<9d924c2f-9ad7-f544-519c-5ae967105069@linux.vnet.ibm.com>", "list_archive_url": "https://lore.kernel.org/linuxppc-dev/9d924c2f-9ad7-f544-519c-5ae967105069@linux.vnet.ibm.com/", "date": "2017-09-01T15:48:04", "name": "[V13,1/4] powerpc/vphn: Update CPU topology when VPHN enabled", "commit_ref": null, "pull_url": null, "state": "superseded", "archived": true, "hash": "27f290e3c4b1ff65f000c79721e939dbcd5a7695", "submitter": { "id": 65104, "url": "http://patchwork.ozlabs.org/api/people/65104/?format=api", "name": "Michael Bringmann", "email": "mwb@linux.vnet.ibm.com" }, "delegate": null, "mbox": "http://patchwork.ozlabs.org/project/linuxppc-dev/patch/9d924c2f-9ad7-f544-519c-5ae967105069@linux.vnet.ibm.com/mbox/", "series": [ { "id": 1053, "url": "http://patchwork.ozlabs.org/api/series/1053/?format=api", "web_url": "http://patchwork.ozlabs.org/project/linuxppc-dev/list/?series=1053", "date": "2017-09-01T15:47:31", "name": "powerpc/vphn: Update CPU topology when VPHN enabled", "version": 13, "mbox": "http://patchwork.ozlabs.org/series/1053/mbox/" } ], "comments": "http://patchwork.ozlabs.org/api/patches/808745/comments/", "check": "pending", "checks": "http://patchwork.ozlabs.org/api/patches/808745/checks/", "tags": {}, "related": [], "headers": { "Return-Path": "<linuxppc-dev-bounces+patchwork-incoming=ozlabs.org@lists.ozlabs.org>", "X-Original-To": [ "patchwork-incoming@ozlabs.org", "linuxppc-dev@lists.ozlabs.org" ], "Delivered-To": [ "patchwork-incoming@ozlabs.org", "linuxppc-dev@lists.ozlabs.org" ], "Received": [ "from lists.ozlabs.org (lists.ozlabs.org [103.22.144.68])\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 3xkNy23G6Lz9t3P\n\tfor <patchwork-incoming@ozlabs.org>;\n\tSat, 2 Sep 2017 01:51:06 +1000 (AEST)", "from lists.ozlabs.org (lists.ozlabs.org [IPv6:2401:3900:2:1::3])\n\tby lists.ozlabs.org (Postfix) with ESMTP id 3xkNy22L7xzDqZ7\n\tfor <patchwork-incoming@ozlabs.org>;\n\tSat, 2 Sep 2017 01:51:06 +1000 (AEST)", "from mx0a-001b2d01.pphosted.com (mx0b-001b2d01.pphosted.com\n\t[148.163.158.5])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256\n\tbits)) (No client certificate requested)\n\tby lists.ozlabs.org (Postfix) with ESMTPS id 3xkNtg1C9pzDqnQ\n\tfor <linuxppc-dev@lists.ozlabs.org>;\n\tSat, 2 Sep 2017 01:48:10 +1000 (AEST)", "from pps.filterd (m0098419.ppops.net [127.0.0.1])\n\tby mx0b-001b2d01.pphosted.com (8.16.0.21/8.16.0.21) with SMTP id\n\tv81Fi90J081861\n\tfor <linuxppc-dev@lists.ozlabs.org>; Fri, 1 Sep 2017 11:48:08 -0400", "from e36.co.us.ibm.com (e36.co.us.ibm.com [32.97.110.154])\n\tby mx0b-001b2d01.pphosted.com with ESMTP id 2cq9gavcx2-1\n\t(version=TLSv1.2 cipher=AES256-SHA bits=256 verify=NOT)\n\tfor <linuxppc-dev@lists.ozlabs.org>; Fri, 01 Sep 2017 11:48:07 -0400", "from localhost\n\tby e36.co.us.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use\n\tOnly! Violators will be prosecuted\n\tfor <linuxppc-dev@lists.ozlabs.org> from <mwb@linux.vnet.ibm.com>;\n\tFri, 1 Sep 2017 09:48:07 -0600", "from b03cxnp08025.gho.boulder.ibm.com (9.17.130.17)\n\tby e36.co.us.ibm.com (192.168.1.136) with IBM ESMTP SMTP Gateway:\n\tAuthorized Use Only! Violators will be prosecuted; \n\tFri, 1 Sep 2017 09:48:05 -0600", "from b03ledav004.gho.boulder.ibm.com\n\t(b03ledav004.gho.boulder.ibm.com [9.17.130.235])\n\tby b03cxnp08025.gho.boulder.ibm.com (8.14.9/8.14.9/NCO v10.0) with\n\tESMTP id v81Fm5Z51573266; Fri, 1 Sep 2017 08:48:05 -0700", "from b03ledav004.gho.boulder.ibm.com (unknown [127.0.0.1])\n\tby IMSVA (Postfix) with ESMTP id 1FB8878037;\n\tFri, 1 Sep 2017 09:48:05 -0600 (MDT)", "from oc1554177480.ibm.com (unknown [9.53.92.230])\n\tby b03ledav004.gho.boulder.ibm.com (Postfix) with ESMTP id C0D3A78051;\n\tFri, 1 Sep 2017 09:48:04 -0600 (MDT)" ], "To": "linuxppc-dev@lists.ozlabs.org, linux-kernel@vger.kernel.org", "From": "Michael Bringmann <mwb@linux.vnet.ibm.com>", "Subject": "[PATCH V13 1/4] powerpc/vphn: Update CPU topology when VPHN enabled", "Organization": "IBM Linux Technology Center", "In-Reply-To": "<fc21bb6f-9df8-ab7d-5987-6bdce5d39842@linux.vnet.ibm.com>", "Date": "Fri, 1 Sep 2017 10:48:04 -0500", "User-Agent": "Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101\n\tThunderbird/52.2.0", "MIME-Version": "1.0", "Content-Type": "text/plain; charset=utf-8", "Content-Language": "en-US", "Content-Transfer-Encoding": "8bit", "X-TM-AS-GCONF": "00", "x-cbid": "17090115-0020-0000-0000-00000CA606EF", "X-IBM-SpamModules-Scores": "", "X-IBM-SpamModules-Versions": "BY=3.00007647; HX=3.00000241; KW=3.00000007;\n\tPH=3.00000004; SC=3.00000226; SDB=6.00910745; UDB=6.00456897;\n\tIPR=6.00691025; \n\tBA=6.00005563; NDR=6.00000001; ZLA=6.00000005; ZF=6.00000009;\n\tZB=6.00000000; \n\tZP=6.00000000; ZH=6.00000000; ZU=6.00000002; MB=3.00016962;\n\tXFM=3.00000015; UTC=2017-09-01 15:48:06", "X-IBM-AV-DETECTION": "SAVI=unused REMOTE=unused XFE=unused", "x-cbparentid": "17090115-0021-0000-0000-00005DF5841D", "Message-Id": "<9d924c2f-9ad7-f544-519c-5ae967105069@linux.vnet.ibm.com>", "X-Proofpoint-Virus-Version": "vendor=fsecure engine=2.50.10432:, ,\n\tdefinitions=2017-09-01_04:, , signatures=0", "X-Proofpoint-Spam-Details": "rule=outbound_notspam policy=outbound score=0\n\tspamscore=0 suspectscore=0\n\tmalwarescore=0 phishscore=0 adultscore=0 bulkscore=0 classifier=spam\n\tadjust=0 reason=mlx scancount=1 engine=8.0.1-1707230000\n\tdefinitions=main-1709010225", "X-BeenThere": "linuxppc-dev@lists.ozlabs.org", "X-Mailman-Version": "2.1.23", "Precedence": "list", "List-Id": "Linux on PowerPC Developers Mail List\n\t<linuxppc-dev.lists.ozlabs.org>", "List-Unsubscribe": "<https://lists.ozlabs.org/options/linuxppc-dev>,\n\t<mailto:linuxppc-dev-request@lists.ozlabs.org?subject=unsubscribe>", "List-Archive": "<http://lists.ozlabs.org/pipermail/linuxppc-dev/>", "List-Post": "<mailto:linuxppc-dev@lists.ozlabs.org>", "List-Help": "<mailto:linuxppc-dev-request@lists.ozlabs.org?subject=help>", "List-Subscribe": "<https://lists.ozlabs.org/listinfo/linuxppc-dev>,\n\t<mailto:linuxppc-dev-request@lists.ozlabs.org?subject=subscribe>", "Cc": "Nathan Fontenot <nfont@linux.vnet.ibm.com>,\n\tMichael Bringmann <mwb@linux.vnet.ibm.com>,\n\tJohn Allen <jallen@linux.vnet.ibm.com>", "Errors-To": "linuxppc-dev-bounces+patchwork-incoming=ozlabs.org@lists.ozlabs.org", "Sender": "\"Linuxppc-dev\"\n\t<linuxppc-dev-bounces+patchwork-incoming=ozlabs.org@lists.ozlabs.org>" }, "content": "powerpc/vphn: On Power systems with shared configurations of CPUs\nand memory, there are some issues with the association of additional\nCPUs and memory to nodes when hot-adding resources. This patch\ncorrects the currently broken capability to set the topology for\nshared CPUs in LPARs. At boot time for shared CPU lpars, the\ntopology for each CPU was being set to node zero. Now when\nnuma_update_cpu_topology() is called appropriately, the Virtual\nProcessor Home Node (VPHN) capabilities information provided by the\npHyp allows the appropriate node in the shared configuration to be\nselected for the CPU.\n\nSigned-off-by: Michael Bringmann <mwb@linux.vnet.ibm.com>\n---\nChanges in V13:\n -- Split patch for improved review\n---\n arch/powerpc/mm/numa.c | 31 ++++++++++++++++++++++++++++---\n 1 file changed, 28 insertions(+), 3 deletions(-)", "diff": "diff --git a/arch/powerpc/mm/numa.c b/arch/powerpc/mm/numa.c\nindex b95c584..312f6ee 100644\n--- a/arch/powerpc/mm/numa.c\n+++ b/arch/powerpc/mm/numa.c\n@@ -1153,6 +1153,8 @@ struct topology_update_data {\n static int vphn_enabled;\n static int prrn_enabled;\n static void reset_topology_timer(void);\n+static int topology_inited;\n+static int topology_update_needed;\n \n /*\n * Store the current values of the associativity change counters in the\n@@ -1246,6 +1248,11 @@ static long vphn_get_associativity(unsigned long cpu,\n \t\t\t\"hcall_vphn() experienced a hardware fault \"\n \t\t\t\"preventing VPHN. Disabling polling...\\n\");\n \t\tstop_topology_update();\n+\t\tbreak;\n+\tcase H_SUCCESS:\n+\t\tdbg(\"VPHN hcall succeeded. Reset polling...\\n\");\n+\t\ttimed_topology_update(0);\n+\t\tbreak;\n \t}\n \n \treturn rc;\n@@ -1323,8 +1330,11 @@ int numa_update_cpu_topology(bool cpus_locked)\n \tstruct device *dev;\n \tint weight, new_nid, i = 0;\n \n-\tif (!prrn_enabled && !vphn_enabled)\n+\tif (!prrn_enabled && !vphn_enabled) {\n+\t\tif (!topology_inited)\n+\t\t\ttopology_update_needed = 1;\n \t\treturn 0;\n+\t}\n \n \tweight = cpumask_weight(&cpu_associativity_changes_mask);\n \tif (!weight)\n@@ -1363,6 +1373,8 @@ int numa_update_cpu_topology(bool cpus_locked)\n \t\t\tcpumask_andnot(&cpu_associativity_changes_mask,\n \t\t\t\t\t&cpu_associativity_changes_mask,\n \t\t\t\t\tcpu_sibling_mask(cpu));\n+\t\t\tpr_info(\"Assoc chg gives same node %d for cpu%d\\n\",\n+\t\t\t\t\tnew_nid, cpu);\n \t\t\tcpu = cpu_last_thread_sibling(cpu);\n \t\t\tcontinue;\n \t\t}\n@@ -1433,6 +1445,7 @@ int numa_update_cpu_topology(bool cpus_locked)\n \n out:\n \tkfree(updates);\n+\ttopology_update_needed = 0;\n \treturn changed;\n }\n \n@@ -1453,6 +1466,13 @@ static void topology_schedule_update(void)\n \tschedule_work(&topology_work);\n }\n \n+void shared_topology_update(void)\n+{\n+\tif (firmware_has_feature(FW_FEATURE_VPHN) &&\n+\t\t lppaca_shared_proc(get_lppaca()))\n+\t\ttopology_schedule_update();\n+}\n+\n static void topology_timer_fn(unsigned long ignored)\n {\n \tif (prrn_enabled && cpumask_weight(&cpu_associativity_changes_mask))\n@@ -1519,7 +1539,6 @@ int start_topology_update(void)\n \tif (firmware_has_feature(FW_FEATURE_PRRN)) {\n \t\tif (!prrn_enabled) {\n \t\t\tprrn_enabled = 1;\n-\t\t\tvphn_enabled = 0;\n #ifdef CONFIG_SMP\n \t\t\trc = of_reconfig_notifier_register(&dt_update_nb);\n #endif\n@@ -1527,7 +1546,6 @@ int start_topology_update(void)\n \t} else if (firmware_has_feature(FW_FEATURE_VPHN) &&\n \t\t lppaca_shared_proc(get_lppaca())) {\n \t\tif (!vphn_enabled) {\n-\t\t\tprrn_enabled = 0;\n \t\t\tvphn_enabled = 1;\n \t\t\tsetup_cpu_associativity_change_counters();\n \t\t\tinit_timer_deferrable(&topology_timer);\n@@ -1613,9 +1631,16 @@ static int topology_update_init(void)\n \tif (topology_updates_enabled)\n \t\tstart_topology_update();\n \n+\tshared_topology_update();\n+\n \tif (!proc_create(\"powerpc/topology_updates\", 0644, NULL, &topology_ops))\n \t\treturn -ENOMEM;\n \n+\ttopology_inited = 1;\n+\tif (topology_update_needed)\n+\t\tbitmap_fill(cpumask_bits(&cpu_associativity_changes_mask),\n+\t\t\t\t\tnr_cpumask_bits);\n+\n \treturn 0;\n }\n device_initcall(topology_update_init);\n", "prefixes": [ "V13", "1/4" ] }