Show a cover letter.

GET /api/covers/96958/?format=api
HTTP 200 OK
Allow: GET, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "id": 96958,
    "url": "http://patchwork.dpdk.org/api/covers/96958/?format=api",
    "web_url": "http://patchwork.dpdk.org/project/dpdk/cover/20210817032723.3997054-1-jerinj@marvell.com/",
    "project": {
        "id": 1,
        "url": "http://patchwork.dpdk.org/api/projects/1/?format=api",
        "name": "DPDK",
        "link_name": "dpdk",
        "list_id": "dev.dpdk.org",
        "list_email": "dev@dpdk.org",
        "web_url": "http://core.dpdk.org",
        "scm_url": "git://dpdk.org/dpdk",
        "webscm_url": "http://git.dpdk.org/dpdk",
        "list_archive_url": "https://inbox.dpdk.org/dev",
        "list_archive_url_format": "https://inbox.dpdk.org/dev/{}",
        "commit_url_format": ""
    },
    "msgid": "<20210817032723.3997054-1-jerinj@marvell.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/20210817032723.3997054-1-jerinj@marvell.com",
    "date": "2021-08-17T03:27:17",
    "name": "[v2,0/6] support oops handling",
    "submitter": {
        "id": 1188,
        "url": "http://patchwork.dpdk.org/api/people/1188/?format=api",
        "name": "Jerin Jacob Kollanukkaran",
        "email": "jerinj@marvell.com"
    },
    "mbox": "http://patchwork.dpdk.org/project/dpdk/cover/20210817032723.3997054-1-jerinj@marvell.com/mbox/",
    "series": [
        {
            "id": 18300,
            "url": "http://patchwork.dpdk.org/api/series/18300/?format=api",
            "web_url": "http://patchwork.dpdk.org/project/dpdk/list/?series=18300",
            "date": "2021-08-17T03:27:17",
            "name": "support oops handling",
            "version": 2,
            "mbox": "http://patchwork.dpdk.org/series/18300/mbox/"
        }
    ],
    "comments": "http://patchwork.dpdk.org/api/covers/96958/comments/",
    "headers": {
        "Return-Path": "<dev-bounces@dpdk.org>",
        "X-Original-To": "patchwork@inbox.dpdk.org",
        "Delivered-To": "patchwork@inbox.dpdk.org",
        "Received": [
            "from mails.dpdk.org (mails.dpdk.org [217.70.189.124])\n\tby inbox.dpdk.org (Postfix) with ESMTP id 761F6A0548;\n\tTue, 17 Aug 2021 05:29:54 +0200 (CEST)",
            "from [217.70.189.124] (localhost [127.0.0.1])\n\tby mails.dpdk.org (Postfix) with ESMTP id 69BFA40143;\n\tTue, 17 Aug 2021 05:29:53 +0200 (CEST)",
            "from mx0b-0016f401.pphosted.com (mx0a-0016f401.pphosted.com\n [67.231.148.174])\n by mails.dpdk.org (Postfix) with ESMTP id B7C0040142\n for <dev@dpdk.org>; Tue, 17 Aug 2021 05:29:52 +0200 (CEST)",
            "from pps.filterd (m0045849.ppops.net [127.0.0.1])\n by mx0a-0016f401.pphosted.com (8.16.1.2/8.16.0.43) with SMTP id\n 17H2laV8006735;\n Mon, 16 Aug 2021 20:29:49 -0700",
            "from dc5-exch01.marvell.com ([199.233.59.181])\n by mx0a-0016f401.pphosted.com with ESMTP id 3ag4n0r3sn-1\n (version=TLSv1.2 cipher=ECDHE-RSA-AES256-SHA384 bits=256 verify=NOT);\n Mon, 16 Aug 2021 20:29:48 -0700",
            "from DC5-EXCH01.marvell.com (10.69.176.38) by DC5-EXCH01.marvell.com\n (10.69.176.38) with Microsoft SMTP Server (TLS) id 15.0.1497.18;\n Mon, 16 Aug 2021 20:29:47 -0700",
            "from maili.marvell.com (10.69.176.80) by DC5-EXCH01.marvell.com\n (10.69.176.38) with Microsoft SMTP Server id 15.0.1497.18 via Frontend\n Transport; Mon, 16 Aug 2021 20:29:47 -0700",
            "from jerin-lab.marvell.com (jerin-lab.marvell.com [10.28.34.14])\n by maili.marvell.com (Postfix) with ESMTP id 70FBF3F70A2;\n Mon, 16 Aug 2021 20:29:43 -0700 (PDT)"
        ],
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed; d=marvell.com;\n h=from : to : cc :\n subject : date : message-id : in-reply-to : references : mime-version :\n content-transfer-encoding : content-type; s=pfpt0220;\n bh=dgLvQr8TGC3NClhwnMzruKnYIjwO1N6vj1GLd3sWRxo=;\n b=X9h9azgy4cHt3CP4U6D+LpXJFk23QhAURGmOGvPrf1zkeXum5ch3+WcRCvCxfi7GRWcD\n +9VzAdiM9nY/sPU2H7ADJwLBJxfmjgceZq/EpqCiO719hmgHnQ8hiBT2HZBu71Zp9gN+\n 40eG4Gr7gP59+KTEOioSLXFiAFVcT2A1yIbdvZAzuo3NlxyTiLVRKSXu0Pd28UWkFK0u\n xfo25lrqnKM68wdrnrtfjJbXfCWCUhbDQJv9uXFoNAZ/T+AsdAdoklt8+NNrOhIWrTN+\n OQz8yCsU/qlUg1imCywcN5qHVXf1LSd6cPYIUUywPDsyboECoQFhOT+zjWY5DYxcn9ZP Tw==",
        "From": "<jerinj@marvell.com>",
        "To": "<dev@dpdk.org>",
        "CC": "<thomas@monjalon.net>, <david.marchand@redhat.com>,\n <bruce.richardson@intel.com>, <dmitry.kozliuk@gmail.com>,\n <navasile@linux.microsoft.com>, <dmitrym@microsoft.com>,\n <pallavi.kadam@intel.com>, <konstantin.ananyev@intel.com>,\n <ruifeng.wang@arm.com>, <viktorin@rehivetech.com>,\n <drc@linux.vnet.ibm.com>, Jerin Jacob <jerinj@marvell.com>",
        "Date": "Tue, 17 Aug 2021 08:57:17 +0530",
        "Message-ID": "<20210817032723.3997054-1-jerinj@marvell.com>",
        "X-Mailer": "git-send-email 2.32.0",
        "In-Reply-To": "<20210730084938.2426128-2-jerinj@marvell.com>",
        "References": "<20210730084938.2426128-2-jerinj@marvell.com>",
        "MIME-Version": "1.0",
        "Content-Transfer-Encoding": "8bit",
        "Content-Type": "text/plain",
        "X-Proofpoint-GUID": "e5RW2kdXvJApQlmGIZsdTNSuA2lteqEu",
        "X-Proofpoint-ORIG-GUID": "e5RW2kdXvJApQlmGIZsdTNSuA2lteqEu",
        "X-Proofpoint-Virus-Version": "vendor=baseguard\n engine=ICAP:2.0.182.1,Aquarius:18.0.790,Hydra:6.0.391,FMLib:17.0.607.475\n definitions=2021-08-17_01,2021-08-16_02,2020-04-07_01",
        "Subject": "[dpdk-dev] [PATCH v2 0/6] support oops handling",
        "X-BeenThere": "dev@dpdk.org",
        "X-Mailman-Version": "2.1.29",
        "Precedence": "list",
        "List-Id": "DPDK patches and discussions <dev.dpdk.org>",
        "List-Unsubscribe": "<https://mails.dpdk.org/options/dev>,\n <mailto:dev-request@dpdk.org?subject=unsubscribe>",
        "List-Archive": "<http://mails.dpdk.org/archives/dev/>",
        "List-Post": "<mailto:dev@dpdk.org>",
        "List-Help": "<mailto:dev-request@dpdk.org?subject=help>",
        "List-Subscribe": "<https://mails.dpdk.org/listinfo/dev>,\n <mailto:dev-request@dpdk.org?subject=subscribe>",
        "Errors-To": "dev-bounces@dpdk.org",
        "Sender": "\"dev\" <dev-bounces@dpdk.org>"
    },
    "content": "From: Jerin Jacob <jerinj@marvell.com>\n\nv2:\n- Fix powerpc build (David Christensen)\n\nIt is handy to get detailed OOPS information like Linux kernel\nwhen DPDK application crashes without losing any of the features\nprovided by coredump infrastructure by the OS.\n\nThis patch series introduces the APIs to handle OOPS in DPDK.\n\nFollowing section details the implementation and API interface to application.\n\nOn rte_eal_init() invocation, the EAL library installs the oops handler for\nthe essential signals. The rte_oops_signals_enabled() API provides the list\nof signals the library installed by the EAL.\n\nThe default EAL oops handler decodes the oops message using rte_oops_decode()\nand then calls the signal handler installed by the application \nbefore invoking the rte_eal_init(). This scheme will also enable the use of\nthe default coredump handler(for gdb etc.) provided by OS \nif the application does not install any specific signal handler. \n\nThe second case where the application installs the signal handler after \nthe rte_eal_init() invocation, rte_oops_decode() provides the means of\ndecoding the oops message in the application's fault handler.\n\n\nPatch split:\n\nPatch 1/6: defines the API and stub implementation for Unix systems\nPatch 2/6: The API implementation\nPatch 3/6: add an optional libunwind dependency to DPDK for better backtrace in oops.\nPatch 4/6: x86 specific archinfo like x86 register dump on oops\nPatch 5/6: arm64 specific archinfo like arm64 register dump on oops\nPatch 6/6: UT for the new APIs\n\n\nExample command for the build, run, and output logs of an x86-64 linux machine.\n  \n\nmeson --buildtype debug build\nninja -C build\n\necho \"oops_autotest\" | ./build/app/test/dpdk-test --no-huge  -c 0x2\n\nSignal info:\n------------\nPID:           2439496\nSignal number: 11\nFault address: 0x5\n\nBacktrace:\n----------\n[  0x55e8b56d5cee]: test_oops_generate()+0x75\n[  0x55e8b5459843]: unit_test_suite_runner()+0x1aa\n[  0x55e8b56d605c]: test_oops()+0x13\n[  0x55e8b544bdfc]: cmd_autotest_parsed()+0x55\n[  0x55e8b6063a0d]: cmdline_parse()+0x319\n[  0x55e8b6061dea]: cmdline_valid_buffer()+0x35\n[  0x55e8b6066bd8]: rdline_char_in()+0xc48\n[  0x55e8b606221c]: cmdline_in()+0x62\n[  0x55e8b6062495]: cmdline_interact()+0x56\n[  0x55e8b5459314]: main()+0x65e\n[  0x7f54b25d2b25]: __libc_start_main()+0xd5\n[  0x55e8b544bc9e]: _start()+0x2e\n\nArch info:\n----------\nR8 : 0x0000000000000000  R9 : 0x0000000000000000\nR10: 0x00007f54b25b8b48  R11: 0x00007f54b25e7930\nR12: 0x00007fffc695e610  R13: 0x0000000000000000\nR14: 0x0000000000000000  R15: 0x0000000000000000\nRAX: 0x0000000000000005  RBX: 0x0000000000000001\nRCX: 0x00007f54b278a943  RDX: 0x3769043bf13a2594\nRBP: 0x00007fffc6958340  RSP: 0x00007fffc6958330\nRSI: 0x0000000000000000  RDI: 0x000055e8c4c1e380\nRIP: 0x000055e8b56d5cee  EFL: 0x0000000000010246\n\nStack dump:\n----------\n0x7fffc6958330: 0x6000000\n0x7fffc6958334: 0x0\n0x7fffc6958338: 0x30cfeac5\n0x7fffc695833c: 0x0\n0x7fffc6958340: 0xe08395c6\n0x7fffc6958344: 0xff7f0000\n0x7fffc6958348: 0x439845b5\n0x7fffc695834c: 0xe8550000\n0x7fffc6958350: 0x0\n0x7fffc6958354: 0xb000000\n0x7fffc6958358: 0x20445bb9\n0x7fffc695835c: 0xe8550000\n0x7fffc6958360: 0x925506b6\n0x7fffc6958364: 0x0\n0x7fffc6958368: 0x0\n0x7fffc695836c: 0x0\n\nCode dump:\n----------\n0x55e8b56d5cee: 0xc7000000\n0x55e8b56d5cf2: 0xeb12\n0x55e8b56d5cf6: 0xfb6054b\n0x55e8b56d5cfa: 0x87540f84\n0x55e8b56d5cfe: 0xc07407b8\n0x55e8b56d5d02: 0x0\n0x55e8b56d5d06: 0xeb05b8ff\n0x55e8b56d5d0a: 0xffffffc9\n0x55e8b56d5d0e: 0xc3554889\n0x55e8b56d5d12: 0xe54881ec\n0x55e8b56d5d16: 0xc0000000\n0x55e8b56d5d1a: 0x89bd4cff\n0x55e8b56d5d1e: 0xffff4889\n0x55e8b56d5d22: 0xb540ffff\n\nJerin Jacob (6):\n  eal: introduce oops handling API\n  eal: oops handling API implementation\n  eal: support libunwind based backtrace\n  eal/x86: support register dump for oops\n  eal/arm64: support register dump for oops\n  test/oops: support unit test case for oops handling APIs\n\n .github/workflows/build.yml  |   2 +-\n .travis.yml                  |   2 +-\n app/test/meson.build         |   2 +\n app/test/test_oops.c         | 121 ++++++++++++++\n config/meson.build           |   8 +\n doc/api/doxy-api-index.md    |   3 +-\n lib/eal/common/eal_private.h |   3 +\n lib/eal/freebsd/eal.c        |   6 +\n lib/eal/include/meson.build  |   1 +\n lib/eal/include/rte_oops.h   | 100 ++++++++++++\n lib/eal/linux/eal.c          |   6 +\n lib/eal/unix/eal_oops.c      | 298 +++++++++++++++++++++++++++++++++++\n lib/eal/unix/meson.build     |   1 +\n lib/eal/version.map          |   4 +\n 14 files changed, 554 insertions(+), 3 deletions(-)\n create mode 100644 app/test/test_oops.c\n create mode 100644 lib/eal/include/rte_oops.h\n create mode 100644 lib/eal/unix/eal_oops.c"
}