get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

GET /api/patches/702863/?format=api
HTTP 200 OK
Allow: GET, PUT, PATCH, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "id": 702863,
    "url": "http://patchwork.ozlabs.org/api/patches/702863/?format=api",
    "web_url": "http://patchwork.ozlabs.org/project/intel-wired-lan/patch/1480909244-16460-1-git-send-email-liwei.song@windriver.com/",
    "project": {
        "id": 46,
        "url": "http://patchwork.ozlabs.org/api/projects/46/?format=api",
        "name": "Intel Wired Ethernet development",
        "link_name": "intel-wired-lan",
        "list_id": "intel-wired-lan.osuosl.org",
        "list_email": "intel-wired-lan@osuosl.org",
        "web_url": "",
        "scm_url": "",
        "webscm_url": "",
        "list_archive_url": "",
        "list_archive_url_format": "",
        "commit_url_format": ""
    },
    "msgid": "<1480909244-16460-1-git-send-email-liwei.song@windriver.com>",
    "list_archive_url": null,
    "date": "2016-12-05T03:40:44",
    "name": "ixgbe: initialize u64_stats_sync structures early at ixgbe_probe",
    "commit_ref": null,
    "pull_url": null,
    "state": "accepted",
    "archived": false,
    "hash": "a4d48cb7a3ffc0099a93dc3702440cfcfee81cc7",
    "submitter": {
        "id": 70528,
        "url": "http://patchwork.ozlabs.org/api/people/70528/?format=api",
        "name": "Liwei Song",
        "email": "liwei.song@windriver.com"
    },
    "delegate": {
        "id": 68,
        "url": "http://patchwork.ozlabs.org/api/users/68/?format=api",
        "username": "jtkirshe",
        "first_name": "Jeff",
        "last_name": "Kirsher",
        "email": "jeffrey.t.kirsher@intel.com"
    },
    "mbox": "http://patchwork.ozlabs.org/project/intel-wired-lan/patch/1480909244-16460-1-git-send-email-liwei.song@windriver.com/mbox/",
    "series": [],
    "comments": "http://patchwork.ozlabs.org/api/patches/702863/comments/",
    "check": "pending",
    "checks": "http://patchwork.ozlabs.org/api/patches/702863/checks/",
    "tags": {},
    "related": [],
    "headers": {
        "Return-Path": "<intel-wired-lan-bounces@lists.osuosl.org>",
        "X-Original-To": [
            "incoming@patchwork.ozlabs.org",
            "intel-wired-lan@lists.osuosl.org"
        ],
        "Delivered-To": [
            "patchwork-incoming@bilbo.ozlabs.org",
            "intel-wired-lan@lists.osuosl.org"
        ],
        "Received": [
            "from fraxinus.osuosl.org (smtp4.osuosl.org [140.211.166.137])\n\t(using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits))\n\t(No client certificate requested)\n\tby ozlabs.org (Postfix) with ESMTPS id 3tXbWZ4Hh5z9srZ\n\tfor <incoming@patchwork.ozlabs.org>;\n\tTue,  6 Dec 2016 07:11:54 +1100 (AEDT)",
            "from localhost (localhost [127.0.0.1])\n\tby fraxinus.osuosl.org (Postfix) with ESMTP id 233C185546;\n\tMon,  5 Dec 2016 20:11:53 +0000 (UTC)",
            "from fraxinus.osuosl.org ([127.0.0.1])\n\tby localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024)\n\twith ESMTP id YGmw1v0i2wB4; Mon,  5 Dec 2016 20:11:50 +0000 (UTC)",
            "from ash.osuosl.org (ash.osuosl.org [140.211.166.34])\n\tby fraxinus.osuosl.org (Postfix) with ESMTP id B46728548A;\n\tMon,  5 Dec 2016 20:11:50 +0000 (UTC)",
            "from silver.osuosl.org (smtp3.osuosl.org [140.211.166.136])\n\tby ash.osuosl.org (Postfix) with ESMTP id 8BA6E1D0671\n\tfor <intel-wired-lan@lists.osuosl.org>;\n\tMon,  5 Dec 2016 04:00:08 +0000 (UTC)",
            "from localhost (localhost [127.0.0.1])\n\tby silver.osuosl.org (Postfix) with ESMTP id 636552382A\n\tfor <intel-wired-lan@lists.osuosl.org>;\n\tMon,  5 Dec 2016 04:00:08 +0000 (UTC)",
            "from silver.osuosl.org ([127.0.0.1])\n\tby localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024)\n\twith ESMTP id Cxf0j+5XHQDh for <intel-wired-lan@lists.osuosl.org>;\n\tMon,  5 Dec 2016 04:00:04 +0000 (UTC)",
            "from mail5.wrs.com (mail5.windriver.com [192.103.53.11])\n\tby silver.osuosl.org (Postfix) with ESMTPS id 8C35D2E760\n\tfor <intel-wired-lan@lists.osuosl.org>;\n\tMon,  5 Dec 2016 04:00:02 +0000 (UTC)",
            "from ALA-HCA.corp.ad.wrs.com (ala-hca.corp.ad.wrs.com\n\t[147.11.189.40])\n\tby mail5.wrs.com (8.15.2/8.15.2) with ESMTPS id uB53emL4008518\n\t(version=TLSv1 cipher=AES128-SHA bits=128 verify=OK);\n\tSun, 4 Dec 2016 19:40:49 -0800",
            "from pek-lpggp3.wrs.com (128.224.153.76) by ALA-HCA.corp.ad.wrs.com\n\t(147.11.189.40) with Microsoft SMTP Server id 14.3.294.0;\n\tSun, 4 Dec 2016 19:40:48 -0800"
        ],
        "X-Virus-Scanned": [
            "amavisd-new at osuosl.org",
            "amavisd-new at osuosl.org"
        ],
        "X-Greylist": "delayed 00:19:12 by SQLgrey-1.7.6",
        "From": "Liwei Song <liwei.song@windriver.com>",
        "To": "Jeff Kirsher <jeffrey.t.kirsher@intel.com>",
        "Date": "Sun, 4 Dec 2016 22:40:44 -0500",
        "Message-ID": "<1480909244-16460-1-git-send-email-liwei.song@windriver.com>",
        "X-Mailer": "git-send-email 2.7.4",
        "MIME-Version": "1.0",
        "X-Mailman-Approved-At": "Mon, 05 Dec 2016 20:11:49 +0000",
        "Cc": "netdev@vger.kernel.org, intel-wired-lan@lists.osuosl.org,\n\tlinux-kernel@vger.kernel.org, liwei.song@windriver.com",
        "Subject": "[Intel-wired-lan] [PATCH] ixgbe: initialize u64_stats_sync\n\tstructures early at ixgbe_probe",
        "X-BeenThere": "intel-wired-lan@lists.osuosl.org",
        "X-Mailman-Version": "2.1.18-1",
        "Precedence": "list",
        "List-Id": "Intel Wired Ethernet Linux Kernel Driver Development\n\t<intel-wired-lan.lists.osuosl.org>",
        "List-Unsubscribe": "<http://lists.osuosl.org/mailman/options/intel-wired-lan>, \n\t<mailto:intel-wired-lan-request@lists.osuosl.org?subject=unsubscribe>",
        "List-Archive": "<http://lists.osuosl.org/pipermail/intel-wired-lan/>",
        "List-Post": "<mailto:intel-wired-lan@lists.osuosl.org>",
        "List-Help": "<mailto:intel-wired-lan-request@lists.osuosl.org?subject=help>",
        "List-Subscribe": "<http://lists.osuosl.org/mailman/listinfo/intel-wired-lan>, \n\t<mailto:intel-wired-lan-request@lists.osuosl.org?subject=subscribe>",
        "Content-Type": "text/plain; charset=\"us-ascii\"",
        "Content-Transfer-Encoding": "7bit",
        "Errors-To": "intel-wired-lan-bounces@lists.osuosl.org",
        "Sender": "\"Intel-wired-lan\" <intel-wired-lan-bounces@lists.osuosl.org>"
    },
    "content": "Fix the following CallTrace:\nINFO: trying to register non-static key.\nthe code is fine but needs lockdep annotation.\nturning off the locking correctness validator.\nCPU: 71 PID: 1 Comm: swapper/0 Not tainted 4.8.8-WR9.0.0.1_standard #11\nHardware name: Intel Corporation S2600WTT/S2600WTT,\nBIOS GRNDSDP1.86B.0036.R05.1407140519 07/14/2014\n 00200086 00200086 eb5e1ab8 c144dd70 00000000 00000000 eb5e1af8 c10af89a\n c1d23de4 eb5e1af8 00000009 eb5d8600 eb5d8638 eb5e1af8 c10b14d8 00000009\n 0000000a c1d32911 00000000 00000000 e44c826c eb5d8000 eb5e1b74 c10b214e\nCall Trace:\n [<c144dd70>] dump_stack+0x5f/0x8f\n [<c10af89a>] register_lock_class+0x25a/0x4c0\n [<c10b14d8>] ? check_irq_usage+0x88/0xc0\n [<c10b214e>] __lock_acquire+0x5e/0x17a0\n [<c1abdb9b>] ? _raw_spin_unlock_irqrestore+0x3b/0x70\n [<c10cf14a>] ? rcu_read_lock_sched_held+0x8a/0x90\n [<c10b3c5f>] lock_acquire+0x9f/0x1f0\n [<c1922dcf>] ? dev_get_stats+0x5f/0x110\n [<c176e6b3>] ixgbe_get_stats64+0x113/0x320\n [<c1922dcf>] ? dev_get_stats+0x5f/0x110\n [<c1922dcf>] dev_get_stats+0x5f/0x110\n [<c1ab5415>] rtnl_fill_stats+0x40/0x105\n [<c193dd45>] rtnl_fill_ifinfo+0x4c5/0xd20\n [<c11c5115>] ? __kmalloc_node_track_caller+0x1a5/0x410\n [<c1917487>] ? __kmalloc_reserve.isra.42+0x27/0x80\n [<c191754f>] ? __alloc_skb+0x6f/0x270\n [<c1942291>] rtmsg_ifinfo_build_skb+0x71/0xd0\n [<c194230a>] rtmsg_ifinfo.part.23+0x1a/0x50\n [<c1923dad>] ? call_netdevice_notifiers_info+0x2d/0x60\n [<c194236b>] rtmsg_ifinfo+0x2b/0x40\n [<c192f997>] register_netdevice+0x3d7/0x4d0\n [<c192faa7>] register_netdev+0x17/0x30\n [<c177b83d>] ixgbe_probe+0x118d/0x1610\n [<c1498202>] local_pci_probe+0x32/0x80\n [<c1498172>] ? pci_match_device+0xd2/0x100\n [<c14991e0>] pci_device_probe+0xc0/0x110\n [<c1652cc5>] driver_probe_device+0x1c5/0x280\n [<c1498172>] ? pci_match_device+0xd2/0x100\n [<c1652e09>] __driver_attach+0x89/0x90\n [<c1652d80>] ? driver_probe_device+0x280/0x280\n [<c165114f>] bus_for_each_dev+0x4f/0x80\n [<c165269e>] driver_attach+0x1e/0x20\n [<c1652d80>] ? driver_probe_device+0x280/0x280\n [<c1652317>] bus_add_driver+0x1a7/0x220\n [<c1653a79>] driver_register+0x59/0xe0\n [<c1f897b8>] ? igb_init_module+0x49/0x49\n [<c1497b2a>] __pci_register_driver+0x4a/0x50\n [<c1f8985d>] ixgbe_init_module+0xa5/0xc4\n [<c1000485>] do_one_initcall+0x35/0x150\n [<c107e818>] ? parameq+0x18/0x70\n [<c1f395d8>] ? repair_env_string+0x12/0x51\n [<c107ead0>] ? parse_args+0x260/0x3b0\n [<c1074f73>] ? __usermodehelper_set_disable_depth+0x43/0x50\n [<c1f39e90>] kernel_init_freeable+0x19b/0x267\n [<c1f395c6>] ? set_debug_rodata+0xf/0xf\n [<c10b1e7b>] ? trace_hardirqs_on+0xb/0x10\n [<c1abdc02>] ? _raw_spin_unlock_irq+0x32/0x50\n [<c1085f0b>] ? finish_task_switch+0xab/0x1f0\n [<c1085ec9>] ? finish_task_switch+0x69/0x1f0\n [<c1ab6a30>] kernel_init+0x10/0x110\n [<c108bd65>] ? schedule_tail+0x25/0x80\n [<c1abe422>] ret_from_kernel_thread+0xe/0x24\n [<c1ab6a20>] ? rest_init+0x130/0x130\n\nThis CallTrace occurred on 32-bit kernel with CONFIG_PROVE_LOCKING\nenabled.\n\nThis happens at ixgbe driver probe hardware stage, when comes to\nixgbe_get_stats64, the seqcount/seqlock still not initialize, although\nthis was initialize in TX/RX resources setup routin, but it was too late,\nthen lockdep give this Warning.\n\nTo fix this, move the u64_stats_init function to driver probe stage,\nwhich before we get the status of seqcount and after the RX/TX ring\nwas finished init.\n\nSigned-off-by: Liwei Song <liwei.song@windriver.com>\n---\n drivers/net/ethernet/intel/ixgbe/ixgbe_main.c | 10 ++++++----\n 1 file changed, 6 insertions(+), 4 deletions(-)",
    "diff": "diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c b/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c\nindex fee1f29..ab1d114 100644\n--- a/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c\n+++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c\n@@ -5811,8 +5811,6 @@ int ixgbe_setup_tx_resources(struct ixgbe_ring *tx_ring)\n \tif (!tx_ring->tx_buffer_info)\n \t\tgoto err;\n \n-\tu64_stats_init(&tx_ring->syncp);\n-\n \t/* round up to nearest 4K */\n \ttx_ring->size = tx_ring->count * sizeof(union ixgbe_adv_tx_desc);\n \ttx_ring->size = ALIGN(tx_ring->size, 4096);\n@@ -5895,8 +5893,6 @@ int ixgbe_setup_rx_resources(struct ixgbe_ring *rx_ring)\n \tif (!rx_ring->rx_buffer_info)\n \t\tgoto err;\n \n-\tu64_stats_init(&rx_ring->syncp);\n-\n \t/* Round up to nearest 4K */\n \trx_ring->size = rx_ring->count * sizeof(union ixgbe_adv_rx_desc);\n \trx_ring->size = ALIGN(rx_ring->size, 4096);\n@@ -9686,6 +9682,12 @@ static int ixgbe_probe(struct pci_dev *pdev, const struct pci_device_id *ent)\n \tif (err)\n \t\tgoto err_sw_init;\n \n+\tfor (i = 0; i < adapter->num_rx_queues; i++)\n+\t\tu64_stats_init(&adapter->rx_ring[i]->syncp);\n+\n+\tfor (i = 0; i < adapter->num_tx_queues; i++)\n+\t\tu64_stats_init(&adapter->tx_ring[i]->syncp);\n+\n \t/* WOL not supported for all devices */\n \tadapter->wol = 0;\n \thw->eeprom.ops.read(hw, 0x2c, &adapter->eeprom_cap);\n",
    "prefixes": []
}