Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/patches/737838/?format=api
{ "id": 737838, "url": "http://patchwork.ozlabs.org/api/patches/737838/?format=api", "web_url": "http://patchwork.ozlabs.org/project/kvm-ppc/patch/20170312170349.20323-2-npiggin@gmail.com/", "project": { "id": 23, "url": "http://patchwork.ozlabs.org/api/projects/23/?format=api", "name": "KVM PowerPC development", "link_name": "kvm-ppc", "list_id": "kvm-ppc.vger.kernel.org", "list_email": "kvm-ppc@vger.kernel.org", "web_url": null, "scm_url": null, "webscm_url": null, "list_archive_url": "", "list_archive_url_format": "", "commit_url_format": "" }, "msgid": "<20170312170349.20323-2-npiggin@gmail.com>", "list_archive_url": null, "date": "2017-03-12T17:03:49", "name": "KVM: PPC: Book3S HV: Use msgsync for hypervisor doorbells on POWER9", "commit_ref": null, "pull_url": null, "state": "accepted", "archived": false, "hash": "1738fda7fac0aebfd13b56491801dc91b176496a", "submitter": { "id": 69518, "url": "http://patchwork.ozlabs.org/api/people/69518/?format=api", "name": "Nicholas Piggin", "email": "npiggin@gmail.com" }, "delegate": null, "mbox": "http://patchwork.ozlabs.org/project/kvm-ppc/patch/20170312170349.20323-2-npiggin@gmail.com/mbox/", "series": [], "comments": "http://patchwork.ozlabs.org/api/patches/737838/comments/", "check": "pending", "checks": "http://patchwork.ozlabs.org/api/patches/737838/checks/", "tags": {}, "related": [], "headers": { "Return-Path": "<kvm-ppc-owner@vger.kernel.org>", "X-Original-To": "incoming@patchwork.ozlabs.org", "Delivered-To": "patchwork-incoming@bilbo.ozlabs.org", "Received": [ "from vger.kernel.org (vger.kernel.org [209.132.180.67])\n\tby ozlabs.org (Postfix) with ESMTP id 3vh6mb0B2nz9s7g\n\tfor <incoming@patchwork.ozlabs.org>;\n\tMon, 13 Mar 2017 04:04:31 +1100 (AEDT)", "(majordomo@vger.kernel.org) by vger.kernel.org via listexpand\n\tid S933837AbdCLREa (ORCPT <rfc822;incoming@patchwork.ozlabs.org>);\n\tSun, 12 Mar 2017 13:04:30 -0400", "from mail-pg0-f67.google.com ([74.125.83.67]:36766 \"EHLO\n\tmail-pg0-f67.google.com\" rhost-flags-OK-OK-OK-OK) by vger.kernel.org\n\twith ESMTP id S934247AbdCLREQ (ORCPT\n\t<rfc822;kvm-ppc@vger.kernel.org>); Sun, 12 Mar 2017 13:04:16 -0400", "by mail-pg0-f67.google.com with SMTP id 25so15678341pgy.3\n\tfor <kvm-ppc@vger.kernel.org>; Sun, 12 Mar 2017 10:04:15 -0700 (PDT)", "from roar.au.ibm.com ([203.221.48.234])\n\tby smtp.gmail.com with ESMTPSA id\n\t73sm29194691pfh.56.2017.03.12.10.04.10\n\t(version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128);\n\tSun, 12 Mar 2017 10:04:13 -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=\"C9vbTWWZ\"; dkim-atps=neutral", "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=gmail.com; s=20161025;\n\th=from:to:cc:subject:date:message-id:in-reply-to:references;\n\tbh=BfCU6AMmKFkSNkXovv6vZ579YwuiV5uu++s1MPtNJIg=;\n\tb=C9vbTWWZev9NDU9DPGbL0nbNgtG7GYvE8W55fQwhQOoLMk32mriejLCL1PYH0KoZVa\n\t20bcu3WBN0MhjNHPOZIdB892S2pZi+B737nhPN3rlPr9ooq1zYwinJrVUXHH/NvsQir9\n\tdw3tevOZCcnCT8ANtBuBBvzEGkzac1JqLCb1q2IJmAlh67a7BOfy7zmjbVsd2H4/V5D8\n\tfB3pDnqA0tbBR3YoC9QAJ8LlF6KRqI+sXj6lCa5XfTVg/6T8pHxB+SWkBHUFN7CeiWz1\n\t2J+4EepalZXMGG5EScbcJV5BYjNYj0p8peV4fVC9Jw6wq9IJCzPVfAgfr4iViOorhoFp\n\tkrbQ==", "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=BfCU6AMmKFkSNkXovv6vZ579YwuiV5uu++s1MPtNJIg=;\n\tb=VQKdXAaTBFEjTQFU5OimUxoAil/EtbEcnNODszzO7hbKfLYuiR42JI0sGpP3OG5NCF\n\tNdwc8YcWzKxyUbsgFMB6u0ghEZ59gL4aL8yEVmzWUqrbL6PnbdCO5axL33Yzhai73EMA\n\tnMBCkth9e73MnnT0WcLVyBKDm7k1M8y3plCgfhWmjFrHjYYQG3PENqPCqVpGPAJt9B29\n\tTSN+CL34NjOLI1eyDNpD/ja1FeJ3ZgTri1/7m8rRZr9JUNgkPmDmWknllC1KKex2MlPE\n\tFWzxdiEWh6o8L/Tg+82kUev4kOAa4Y9AmRFAt0cSvCdBeB6xgqb58Ln2QtXOCLN3fLI6\n\tOhrA==", "X-Gm-Message-State": "AMke39lVMv29P8dL/77zRuq1qkeFbHPFuv/iBLqY4BYq3sKoM4yIWuA26c9HrBi51VrTfQ==", "X-Received": "by 10.84.129.195 with SMTP id b61mr41230924plb.83.1489338254460; \n\tSun, 12 Mar 2017 10:04:14 -0700 (PDT)", "From": "Nicholas Piggin <npiggin@gmail.com>", "To": "kvm-ppc@vger.kernel.org", "Cc": "Nicholas Piggin <npiggin@gmail.com>, linuxppc-dev@lists.ozlabs.org,\n\tPaul Mackerras <paulus@samba.org>", "Subject": "[PATCH] KVM: PPC: Book3S HV: Use msgsync for hypervisor doorbells\n\ton POWER9", "Date": "Mon, 13 Mar 2017 03:03:49 +1000", "Message-Id": "<20170312170349.20323-2-npiggin@gmail.com>", "X-Mailer": "git-send-email 2.11.0", "In-Reply-To": "<20170312170349.20323-1-npiggin@gmail.com>", "References": "<20170312170349.20323-1-npiggin@gmail.com>", "Sender": "kvm-ppc-owner@vger.kernel.org", "Precedence": "bulk", "List-ID": "<kvm-ppc.vger.kernel.org>", "X-Mailing-List": "kvm-ppc@vger.kernel.org" }, "content": "When msgsnd is used for IPIs to other cores, msgsync must be executed by\nthe target to order stores performed on the source before its msgsnd\n(provided the source executes the appropriate sync).\n\nFixes: 1704a81ccebc (\"KVM: PPC: Book3S HV: Use msgsnd for IPIs to other cores on POWER9\")\nSigned-off-by: Nicholas Piggin <npiggin@gmail.com>\n\n---\nHi,\n\nI found this by inspection only and don't have a way to test it\n(I have no POWER9 KVM set up yet). I don't know the KVM interrupt\ncode very well, so it might not be the right way to fix it. Flames\nwelcome.\n\nThanks,\nNick\n\n\n arch/powerpc/include/asm/ppc-opcode.h | 2 ++\n arch/powerpc/kvm/book3s_hv_rmhandlers.S | 3 +++\n 2 files changed, 5 insertions(+)", "diff": "diff --git a/arch/powerpc/include/asm/ppc-opcode.h b/arch/powerpc/include/asm/ppc-opcode.h\nindex e7d6d86563ee..142d78d645f4 100644\n--- a/arch/powerpc/include/asm/ppc-opcode.h\n+++ b/arch/powerpc/include/asm/ppc-opcode.h\n@@ -161,6 +161,7 @@\n #define PPC_INST_MFTMR\t\t\t0x7c0002dc\n #define PPC_INST_MSGSND\t\t\t0x7c00019c\n #define PPC_INST_MSGCLR\t\t\t0x7c0001dc\n+#define PPC_INST_MSGSYNC\t\t0x7c0006ec\n #define PPC_INST_MSGSNDP\t\t0x7c00011c\n #define PPC_INST_MTTMR\t\t\t0x7c0003dc\n #define PPC_INST_NOP\t\t\t0x60000000\n@@ -345,6 +346,7 @@\n \t\t\t\t\t___PPC_RB(b) | __PPC_EH(eh))\n #define PPC_MSGSND(b)\t\tstringify_in_c(.long PPC_INST_MSGSND | \\\n \t\t\t\t\t___PPC_RB(b))\n+#define PPC_MSGSYNC\t\tstringify_in_c(.long PPC_INST_MSGSYNC)\n #define PPC_MSGCLR(b)\t\tstringify_in_c(.long PPC_INST_MSGCLR | \\\n \t\t\t\t\t___PPC_RB(b))\n #define PPC_MSGSNDP(b)\t\tstringify_in_c(.long PPC_INST_MSGSNDP | \\\ndiff --git a/arch/powerpc/kvm/book3s_hv_rmhandlers.S b/arch/powerpc/kvm/book3s_hv_rmhandlers.S\nindex 7c6477d1840a..caba3afe787d 100644\n--- a/arch/powerpc/kvm/book3s_hv_rmhandlers.S\n+++ b/arch/powerpc/kvm/book3s_hv_rmhandlers.S\n@@ -1239,6 +1239,9 @@ END_FTR_SECTION_IFSET(CPU_FTR_HAS_PPR)\n \t/* Hypervisor doorbell - exit only if host IPI flag set */\n \tcmpwi\tr12, BOOK3S_INTERRUPT_H_DOORBELL\n \tbne\t3f\n+BEGIN_FTR_SECTION\n+\tPPC_MSGSYNC\n+END_FTR_SECTION_IFSET(CPU_FTR_ARCH_300)\n \tlbz\tr0, HSTATE_HOST_IPI(r13)\n \tcmpwi\tr0, 0\n \tbeq\t4f\n", "prefixes": [] }