Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/patches/1027/?format=api
{ "id": 1027, "url": "http://patchwork.ozlabs.org/api/patches/1027/?format=api", "web_url": "http://patchwork.ozlabs.org/project/netdev/patch/20080923080240.GA4692@ff.dom.local/", "project": { "id": 7, "url": "http://patchwork.ozlabs.org/api/projects/7/?format=api", "name": "Linux network development", "link_name": "netdev", "list_id": "netdev.vger.kernel.org", "list_email": "netdev@vger.kernel.org", "web_url": null, "scm_url": null, "webscm_url": null, "list_archive_url": "", "list_archive_url_format": "", "commit_url_format": "" }, "msgid": "<20080923080240.GA4692@ff.dom.local>", "list_archive_url": null, "date": "2008-09-23T08:02:40", "name": "[take,2] pkt_sched: Fix qdisc_watchdog() vs. dev_deactivate() race", "commit_ref": null, "pull_url": null, "state": "accepted", "archived": true, "hash": "12d1161dd4b8ba1cdb4ac0d2fd5e6654d554f911", "submitter": { "id": 277, "url": "http://patchwork.ozlabs.org/api/people/277/?format=api", "name": "Jarek Poplawski", "email": "jarkao2@gmail.com" }, "delegate": null, "mbox": "http://patchwork.ozlabs.org/project/netdev/patch/20080923080240.GA4692@ff.dom.local/mbox/", "series": [], "comments": "http://patchwork.ozlabs.org/api/patches/1027/comments/", "check": "pending", "checks": "http://patchwork.ozlabs.org/api/patches/1027/checks/", "tags": {}, "related": [], "headers": { "Return-Path": "<netdev-owner@vger.kernel.org>", "X-Original-To": "patchwork-incoming@ozlabs.org", "Delivered-To": "patchwork-incoming@ozlabs.org", "Received": [ "from vger.kernel.org (vger.kernel.org [209.132.176.167])\n\tby ozlabs.org (Postfix) with ESMTP id 0FA9BDDE25\n\tfor <patchwork-incoming@ozlabs.org>;\n\tTue, 23 Sep 2008 18:02:57 +1000 (EST)", "(majordomo@vger.kernel.org) by vger.kernel.org via listexpand\n\tid S1752522AbYIWICv (ORCPT <rfc822;patchwork-incoming@ozlabs.org>);\n\tTue, 23 Sep 2008 04:02:51 -0400", "(majordomo@vger.kernel.org) by vger.kernel.org id S1752302AbYIWICv\n\t(ORCPT <rfc822; netdev-outgoing>); Tue, 23 Sep 2008 04:02:51 -0400", "from fg-out-1718.google.com ([72.14.220.156]:47171 \"EHLO\n\tfg-out-1718.google.com\" rhost-flags-OK-OK-OK-OK) by vger.kernel.org\n\twith ESMTP id S1751382AbYIWICs (ORCPT\n\t<rfc822;netdev@vger.kernel.org>); Tue, 23 Sep 2008 04:02:48 -0400", "by fg-out-1718.google.com with SMTP id 19so1648281fgg.17\n\tfor <netdev@vger.kernel.org>; Tue, 23 Sep 2008 01:02:46 -0700 (PDT)", "by 10.180.204.1 with SMTP id b1mr3351868bkg.98.1222156966254;\n\tTue, 23 Sep 2008 01:02:46 -0700 (PDT)", "from ff.dom.local (bv170.internetdsl.tpnet.pl [80.53.205.170])\n\tby mx.google.com with ESMTPS id 22sm1188998fkr.4.2008.09.23.01.02.44\n\t(version=SSLv3 cipher=RC4-MD5);\n\tTue, 23 Sep 2008 01:02:45 -0700 (PDT)" ], "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma;\n\th=domainkey-signature:received:received:date:from:to:cc:subject\n\t:message-id:references:mime-version:content-type:content-disposition\n\t:in-reply-to:user-agent;\n\tbh=WEixMmW+6fVCaA0rDys2n58Ce0M8PfY75ahcgsolzas=;\n\tb=OOm/H4Yg5AyZKbW0dtCl9UjqGT5v1Zfki8TfEV8nvZV8XDU4h17PwuqHsFmuFi7YfW\n\to339J1GmlT9/MFZM3E5YABlmW0bUl0H4hM5AK31rcFkYB+i2NcxINjnGVGlqIZqSxpAH\n\tPWyxzz7ThDRrrIKMPm4m9XLeRwmX4WZpkjiTU=", "DomainKey-Signature": "a=rsa-sha1; c=nofws; d=gmail.com; s=gamma;\n\th=date:from:to:cc:subject:message-id:references:mime-version\n\t:content-type:content-disposition:in-reply-to:user-agent;\n\tb=LS1YRl27nTxTpsduybTqP7++p/iUlNzMHajT86XO0Z6JK17hvZeClIWJeerWpPvPi2\n\tuDopRqDtlfFXkrCkgvzMWSCchMk2i1IIT7D5JDue4+ZYUGOCrT77UhcrwB5yb/EH3w+8\n\tAOFVcvU5uLR0XmGxDj+bkGvWKr0ICon0ACfX0=", "Date": "Tue, 23 Sep 2008 08:02:40 +0000", "From": "Jarek Poplawski <jarkao2@gmail.com>", "To": "David Miller <davem@davemloft.net>", "Cc": "herbert@gondor.apana.org.au, netdev@vger.kernel.org,\n\tkaber@trash.net", "Subject": "Re: [PATCH take 2] pkt_sched: Fix qdisc_watchdog() vs.\n\tdev_deactivate() race", "Message-ID": "<20080923080240.GA4692@ff.dom.local>", "References": "<20080921095705.GA2551@ami.dom.local>\n\t<20080921.031829.86500526.davem@davemloft.net>\n\t<20080921111551.GB2551@ami.dom.local>\n\t<20080922.221658.221283630.davem@davemloft.net>", "MIME-Version": "1.0", "Content-Type": "text/plain; charset=us-ascii", "Content-Disposition": "inline", "In-Reply-To": "<20080922.221658.221283630.davem@davemloft.net>", "User-Agent": "Mutt/1.5.18 (2008-05-17)", "Sender": "netdev-owner@vger.kernel.org", "Precedence": "bulk", "List-ID": "<netdev.vger.kernel.org>", "X-Mailing-List": "netdev@vger.kernel.org" }, "content": "On Mon, Sep 22, 2008 at 10:16:58PM -0700, David Miller wrote:\n> From: Jarek Poplawski <jarkao2@gmail.com>\n> Date: Sun, 21 Sep 2008 13:15:51 +0200\n> \n> > That's why I think you should reconsider this simple solution for now,\n> > until somebody proves this is wrong or something else is better.\n> \n> Ok, that sounds reasonable. I've added those three patches to net-next-2.6\n> and will push those out after some build tests.\n\nOK, then we have to say B and try this all. BTW, I guess, after this\nchange we could have similar effect as reported by Alexander Duyck\nwhile testing his solution for this problem, namely the higher drop\nrate in some cases, which I can only explain as: less time in\nrequeuing more time for new enqueuing. Of course, if I'm right, this\n\"bug\" should be rather \"fixed\" with longer queues or some other\nthrottle mechanism.\n\nThanks,\nJarek P.\n\n-------------------->\n\npkt_sched: Remove the tx queue state check in qdisc_run()\n\nThe current check wrongly uses the state of one (currently the first)\ntx queue for all tx queues in case of non-default qdiscs. This check\nmainly prevented requeuing loop with __netif_schedule(), but now it's\ncontrolled inside __qdisc_run(), while dequeuing. The wrongness of\nthis check was first noticed by Herbert Xu.\n\nSigned-off-by: Jarek Poplawski <jarkao2@gmail.com>\n\n---\n\n include/net/pkt_sched.h | 5 +----\n 1 files changed, 1 insertions(+), 4 deletions(-)\n\n--\nTo unsubscribe from this list: send the line \"unsubscribe netdev\" in\nthe body of a message to majordomo@vger.kernel.org\nMore majordomo info at http://vger.kernel.org/majordomo-info.html", "diff": "diff --git a/include/net/pkt_sched.h b/include/net/pkt_sched.h\nindex b786a5b..4082f39 100644\n--- a/include/net/pkt_sched.h\n+++ b/include/net/pkt_sched.h\n@@ -90,10 +90,7 @@ extern void __qdisc_run(struct Qdisc *q);\n \n static inline void qdisc_run(struct Qdisc *q)\n {\n-\tstruct netdev_queue *txq = q->dev_queue;\n-\n-\tif (!netif_tx_queue_stopped(txq) &&\n-\t !test_and_set_bit(__QDISC_STATE_RUNNING, &q->state))\n+\tif (!test_and_set_bit(__QDISC_STATE_RUNNING, &q->state))\n \t\t__qdisc_run(q);\n }\n \n", "prefixes": [ "take", "2" ] }