Cover Letter Detail
Show a cover letter.
GET /api/covers/814997/?format=api
{ "id": 814997, "url": "http://patchwork.ozlabs.org/api/covers/814997/?format=api", "web_url": "http://patchwork.ozlabs.org/project/qemu-devel/cover/20170918160012.4317-1-david@redhat.com/", "project": { "id": 14, "url": "http://patchwork.ozlabs.org/api/projects/14/?format=api", "name": "QEMU Development", "link_name": "qemu-devel", "list_id": "qemu-devel.nongnu.org", "list_email": "qemu-devel@nongnu.org", "web_url": "", "scm_url": "", "webscm_url": "", "list_archive_url": "", "list_archive_url_format": "", "commit_url_format": "" }, "msgid": "<20170918160012.4317-1-david@redhat.com>", "list_archive_url": null, "date": "2017-09-18T15:59:45", "name": "[v1,00/27] s390x: SMP for TCG (+ cleanups)", "submitter": { "id": 70402, "url": "http://patchwork.ozlabs.org/api/people/70402/?format=api", "name": "David Hildenbrand", "email": "david@redhat.com" }, "mbox": "http://patchwork.ozlabs.org/project/qemu-devel/cover/20170918160012.4317-1-david@redhat.com/mbox/", "series": [ { "id": 3672, "url": "http://patchwork.ozlabs.org/api/series/3672/?format=api", "web_url": "http://patchwork.ozlabs.org/project/qemu-devel/list/?series=3672", "date": "2017-09-18T15:59:45", "name": "s390x: SMP for TCG (+ cleanups)", "version": 1, "mbox": "http://patchwork.ozlabs.org/series/3672/mbox/" } ], "comments": "http://patchwork.ozlabs.org/api/covers/814997/comments/", "headers": { "Return-Path": "<qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org>", "X-Original-To": "incoming@patchwork.ozlabs.org", "Delivered-To": "patchwork-incoming@bilbo.ozlabs.org", "Authentication-Results": [ "ozlabs.org;\n\tspf=pass (mailfrom) smtp.mailfrom=nongnu.org\n\t(client-ip=2001:4830:134:3::11; helo=lists.gnu.org;\n\tenvelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org;\n\treceiver=<UNKNOWN>)", "ext-mx03.extmail.prod.ext.phx2.redhat.com;\n\tdmarc=none (p=none dis=none) header.from=redhat.com", "ext-mx03.extmail.prod.ext.phx2.redhat.com;\n\tspf=fail smtp.mailfrom=david@redhat.com" ], "Received": [ "from lists.gnu.org (lists.gnu.org [IPv6:2001:4830:134:3::11])\n\t(using TLSv1 with cipher AES256-SHA (256/256 bits))\n\t(No client certificate requested)\n\tby ozlabs.org (Postfix) with ESMTPS id 3xwrPW2dFmz9s78\n\tfor <incoming@patchwork.ozlabs.org>;\n\tTue, 19 Sep 2017 02:02:38 +1000 (AEST)", "from localhost ([::1]:37532 helo=lists.gnu.org)\n\tby lists.gnu.org with esmtp (Exim 4.71) (envelope-from\n\t<qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org>)\n\tid 1dtyVH-0007Xg-MN\n\tfor incoming@patchwork.ozlabs.org; Mon, 18 Sep 2017 12:02:35 -0400", "from eggs.gnu.org ([2001:4830:134:3::10]:37054)\n\tby lists.gnu.org with esmtp (Exim 4.71)\n\t(envelope-from <david@redhat.com>) id 1dtyTK-0006Si-Em\n\tfor qemu-devel@nongnu.org; Mon, 18 Sep 2017 12:00:35 -0400", "from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)\n\t(envelope-from <david@redhat.com>) id 1dtyTH-0007aT-SG\n\tfor qemu-devel@nongnu.org; Mon, 18 Sep 2017 12:00:34 -0400", "from mx1.redhat.com ([209.132.183.28]:45290)\n\tby eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32)\n\t(Exim 4.71) (envelope-from <david@redhat.com>) id 1dtyTH-0007a4-J6\n\tfor qemu-devel@nongnu.org; Mon, 18 Sep 2017 12:00:31 -0400", "from smtp.corp.redhat.com\n\t(int-mx05.intmail.prod.int.phx2.redhat.com [10.5.11.15])\n\t(using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits))\n\t(No client certificate requested)\n\tby mx1.redhat.com (Postfix) with ESMTPS id 4977B7E455;\n\tMon, 18 Sep 2017 16:00:30 +0000 (UTC)", "from t460s.redhat.com (unknown [10.36.118.72])\n\tby smtp.corp.redhat.com (Postfix) with ESMTP id 62B735EDE2;\n\tMon, 18 Sep 2017 16:00:13 +0000 (UTC)" ], "DMARC-Filter": "OpenDMARC Filter v1.3.2 mx1.redhat.com 4977B7E455", "From": "David Hildenbrand <david@redhat.com>", "To": "qemu-devel@nongnu.org", "Date": "Mon, 18 Sep 2017 17:59:45 +0200", "Message-Id": "<20170918160012.4317-1-david@redhat.com>", "X-Scanned-By": "MIMEDefang 2.79 on 10.5.11.15", "X-Greylist": "Sender IP whitelisted, not delayed by milter-greylist-4.5.16\n\t(mx1.redhat.com [10.5.110.27]);\n\tMon, 18 Sep 2017 16:00:30 +0000 (UTC)", "X-detected-operating-system": "by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic]\n\t[fuzzy]", "X-Received-From": "209.132.183.28", "Subject": "[Qemu-devel] [PATCH v1 00/27] s390x: SMP for TCG (+ cleanups)", "X-BeenThere": "qemu-devel@nongnu.org", "X-Mailman-Version": "2.1.21", "Precedence": "list", "List-Id": "<qemu-devel.nongnu.org>", "List-Unsubscribe": "<https://lists.nongnu.org/mailman/options/qemu-devel>,\n\t<mailto:qemu-devel-request@nongnu.org?subject=unsubscribe>", "List-Archive": "<http://lists.nongnu.org/archive/html/qemu-devel/>", "List-Post": "<mailto:qemu-devel@nongnu.org>", "List-Help": "<mailto:qemu-devel-request@nongnu.org?subject=help>", "List-Subscribe": "<https://lists.nongnu.org/mailman/listinfo/qemu-devel>,\n\t<mailto:qemu-devel-request@nongnu.org?subject=subscribe>", "Cc": "Matthew Rosato <mjrosato@linux.vnet.ibm.com>, thuth@redhat.com,\n\tdavid@redhat.com, cohuck@redhat.com, Richard Henderson\n\t<richard.henderson@linaro.org>, Alexander Graf <agraf@suse.de>,\n\tborntraeger@de.ibm.com, \tIgor Mammedov <imammedo@redhat.com>,\n\t=?utf-8?q?Alex_Benn=C3=A9e?= <alex.bennee@linaro.org>,\n\tAurelien Jarno <aurelien@aurel32.net>", "Errors-To": "qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org", "Sender": "\"Qemu-devel\"\n\t<qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org>" }, "content": "This series contains:\n- properly implement local external interrupts for TCG\n- factor out KVM SIGP handling code into common code\n- implement missing SIGP orders for TCG handled by the kernel for KVM\n (including STOP and RESTART interrupts)\n- make TCG use the new SIGP code - experimental SMP support for s390x TCG\n- refactor STFL(E) implementation for TCG\n- bunch of cleanups\n\nBasically all SIGP instructions are fully supported.\n\nThanks to Aurelien Jarno for the initital prototype and showcasing that\nsupporting experimental SMP code can be implemented quite easily.\n\nTCG SMP on s390x - what works?\n- \"-smp X,maxcpus=X\" with both, single and multi threaded TCG\n- \"-smp ... -device qemu-s390-cpu,id=cpuX,core-id=X\"\n- system_powerdown, system_reset, shutdown, reboot, NMI\n- online/offline of CPUs from inside the guest\n\nTCG SMP on s390x - what does not work?\n- Floating interrupts all target CPU 0. Don't offline it.\n- CPU hotplug after the machine/main loop has been fully setup\n-- the new CPU comes up, answers and sends emergency signals, but suddenly\n the VM gets stuck. This is strange, as ordinary online/offline works\n just fine.\n-- can be triggered by \"cpu-add 1\" + \"system_reset\". The system will hang\n when trying to online CPUs. (note: in Linux code they are fully up and\n running and already executed code)\n-- also if hotplugging with \"-S\", before anything has run. This is strange,\n as \"-device qemu-s390-cpu\" works just fine.\n-- does not seem to be related to CPU setup/reset code, I checked that\n-- seems to be related to some TCG internals (as broken for single and\n multi threaded TCG).\n-- common code seems to be somehow broken, not sure if this is even\n expected to work (e.g. for single threaded TCG, hotplugged CPUs will\n never get set \"cpu->created = true\". But doesn't seem to be related to\n this)\n\n\nBased on: https://github.com/cohuck/qemu.git s390-next\nAvailable on: git@github.com:davidhildenbrand/qemu.git s390x-queue\n\n\nDavid Hildenbrand (27):\n s390x: raise CPU hotplug irq after really hotplugged\n s390x/cpumodel: fix max STFL(E) bit number\n target/s390x: get rid of next_core_id\n s390x: introduce and use S390_MAX_CPUS\n s390/tcg: turn INTERRUPT_EXT into a mask\n s390x/tcg: injection of emergency signals and extarnal calls\n s390x/tcg: STOPPED cpus can never wake up\n s390x/tcg: a CPU cannot switch state due to an interrupt\n target/s390x: factor out handling of WAIT PSW into handle_wait()\n s390x/kvm: pass ipb directly into handle_sigp()\n s390x/kvm: generalize SIGP stop and restart interrupt injection\n s390x/kvm: factor out storing of CPU status\n target/s390x: proper cpu->be convertion in s390_store_status()\n s390x/kvm: factor out storing of adtl CPU status\n s390x/kvm: drop two debug prints\n s390x/kvm: factor out SIGP code into sigp.c\n s390x/kvm: factor out actual handling of STOP interrupts\n s390x/tcg: implement SIGP SENSE RUNNING STATUS\n s390x/tcg: implement SIGP SENSE\n s390x/tcg: implement SIGP EXTERNAL CALL\n s390x/tcg: implement SIGP EMERGENCY SIGNAL\n s390x/tcg: implement SIGP CONDITIONAL EMERGENCY SIGNAL\n s390x/tcg: implement STOP and RESET interrupts for TCG\n s390x/tcg: flush the tlb on SIGP SET PREFIX\n s390x/tcg: switch to new SIGP handling code\n s390x/tcg: unlock NMI\n s390x/tcg: refactor stfl(e) to use s390_get_feat_block()\n\n hw/s390x/s390-virtio-ccw.c | 17 +-\n target/s390x/Makefile.objs | 1 +\n target/s390x/cpu-qom.h | 2 -\n target/s390x/cpu.c | 40 ++--\n target/s390x/cpu.h | 36 +++-\n target/s390x/cpu_features.c | 2 +-\n target/s390x/cpu_models.c | 2 +\n target/s390x/excp_helper.c | 98 ++++++---\n target/s390x/helper.c | 115 ++++++++--\n target/s390x/helper.h | 4 +-\n target/s390x/internal.h | 15 ++\n target/s390x/interrupt.c | 70 +++++-\n target/s390x/kvm-stub.c | 13 +-\n target/s390x/kvm.c | 470 +++--------------------------------------\n target/s390x/kvm_s390x.h | 3 +-\n target/s390x/misc_helper.c | 114 ++++------\n target/s390x/sigp.c | 504 ++++++++++++++++++++++++++++++++++++++++++++\n target/s390x/trace-events | 4 +-\n target/s390x/translate.c | 6 +-\n 19 files changed, 896 insertions(+), 620 deletions(-)\n create mode 100644 target/s390x/sigp.c" }