* 3.3-rc4+: Reported regressions from 3.2 @ 2012-02-23 22:51 Rafael J. Wysocki 2012-02-23 23:28 ` David Miller [not found] ` <qCQH7HfZS8E.A.x6F.98rRPB@chimera> 0 siblings, 2 replies; 10+ messages in thread From: Rafael J. Wysocki @ 2012-02-23 22:51 UTC (permalink / raw) To: Linux Kernel Mailing List Cc: Maciej Rutecki, Florian Mickler, Andrew Morton, Linus Torvalds, Kernel Testers List, Network Development, Linux ACPI, Linux PM List, Linux SCSI List, Linux Wireless List, DRI Hi all, We definitely aren't 100% in business yet with the tracking of regressions, but since the Bugzilla is operational again, we can collect reports at least. I'd like to use this opportunity to thank Maciej Rutecki and Florian Mickler for their hard work on the regression tracking and to clarify some things that seem to have caused some confusion to happen recently. Namely, we use the kernel Bugzilla (https://bugzilla.kernel.org) for the tracking of regressions for the simple reason that our scripts generate the lists that are posted (like the one below) out of Bugzilla entries created by us (and sometimes by other people). Those entries are used by us as a storage of information, so we're going to add them even though some kernel developers don't seem to like that. We don't require developers to actually use those entries for handling bug reports, we only need people to let us know when they should be closed, because the bug has been fixed in the Linus' tree, or when there's a patch available for the bug (in which case we mark it as "resolved", but we don't close it just yet). There is no reason for you to be openly hostile to Maciej, who's been creating those entries recently, because he's just been doing his job. However, you may not want us to track kernel regressions at all, in which case please let us know about that and we will find some other, presumably equally interesting things to do. :-) Yes, we might have been more verbose about what _exactly_ we've been using the Bugzilla for and what our workflow is, but at the same time people might have been a bit less harsh to someone who's been doing a service to the community, completely voluntarily. Thanks, Rafael --- This message contains a list of some regressions from 3.2, for which there are no fixes in the mainline known to the tracking team. If any of them have been fixed already, please let us know. If you know of any other unresolved regressions from 3.2, please let us know either and we'll add them to the list. Also, please let us know if any of the entries below are invalid. Each entry from the list will be sent additionally in an automatic reply to this message with CCs to the people involved in reporting and handling the issue. Listed regressions statistics: Date Total Pending Unresolved ---------------------------------------- 2012-02-23 15 13 13 Unresolved regressions ---------------------- Bug-Entry : http://bugzilla.kernel.org/show_bug.cgi?id=42798 Subject : i915 regression with 3.3-rc3+git Submitter : Riccardo Magliocchetti <riccardo.magliocchetti@gmail.com> Date : 2012-02-17 20:48 (7 days old) Message-ID : <4F3EBD0D.7000906@gmail.com> References : http://marc.info/?l=linux-kernel&m=132951173002619&w=2 Bug-Entry : http://bugzilla.kernel.org/show_bug.cgi?id=42776 Subject : OF-related boot crash in 3.3.0-rc3-00188-g3ec1e88 Submitter : Meelis Roos <mroos@linux.ee> Date : 2012-02-13 7:45 (11 days old) Message-ID : <alpine.SOC.1.00.1202130942030.1488@math.ut.ee> References : http://marc.info/?l=linux-kernel&m=132911916331615&w=2 Bug-Entry : http://bugzilla.kernel.org/show_bug.cgi?id=42761 Subject : Possible circular locking dependency (3.3-rc2) Submitter : Felipe Balbi <balbi@ti.com> Date : 2012-02-08 12:41 (16 days old) Message-ID : <20120208124147.GF16334@legolas.emea.dhcp.ti.com> References : http://marc.info/?l=linux-kernel&m=132870492311858&w=2 Bug-Entry : http://bugzilla.kernel.org/show_bug.cgi?id=42746 Subject : 3.3-rc2 snd_pcm lockdep backtrace Submitter : Josh Boyer <jwboyer@redhat.com> Date : 2012-02-06 14:56 (18 days old) Message-ID : <20120206145621.GA4771@zod.bos.redhat.com> References : http://marc.info/?l=linux-kernel&m=132854040916172&w=2 Bug-Entry : http://bugzilla.kernel.org/show_bug.cgi?id=42735 Subject : kobject (ffff88003ffbb4b8): tried to init an initialized object, something is seriously wrong. Submitter : Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> Date : 2012-02-03 20:59 (21 days old) Message-ID : <20120203205953.GA2897@phenom.dumpdata.com> References : http://marc.info/?l=linux-kernel&m=132830315526901&w=2 Bug-Entry : http://bugzilla.kernel.org/show_bug.cgi?id=42734 Subject : dosemu graphics broken in v3.3-rc1 Submitter : Hans de Bruin <jmdebruin@xmsnet.nl> Date : 2012-02-02 22:25 (22 days old) First-Bad-Commit: http://git.kernel.org/linus/308e5bcbdb10452e8aba31aa21432fb67ee46d72 Message-ID : <4F2B0D4D.3000304@xmsnet.nl> References : http://marc.info/?l=linux-kernel&m=132825899111982&w=2 Handled-By : Jesse Barnes <jbarnes@virtuousgeek.org> Bug-Entry : http://bugzilla.kernel.org/show_bug.cgi?id=42733 Subject : Regression 3.2 -> 3.3-rc1 10 sec hang at boot and resume, COMRESET failed Submitter : Norbert Preining <preining@logic.at> Date : 2012-02-02 5:12 (22 days old) Message-ID : <20120202051258.GA15550@gamma.logic.tuwien.ac.at> References : http://marc.info/?l=linux-kernel&m=132815978615112&w=2 Bug-Entry : http://bugzilla.kernel.org/show_bug.cgi?id=42713 Subject : Regression in skge that started around acb42a3 (so past v3.3-rc1) Submitter : Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> Date : 2012-01-30 15:58 (25 days old) Message-ID : <20120130155816.GA1400@phenom.dumpdata.com> References : http://marc.info/?l=linux-kernel&m=132793944220262&w=2 Bug-Entry : http://bugzilla.kernel.org/show_bug.cgi?id=42707 Subject : Hang deconfiguring network interface (in shutdown) on 3.3-rc1 Submitter : James Bottomley <James.Bottomley@hansenpartnership.com> Date : 2012-01-28 19:56 (27 days old) Message-ID : <1327780565.2924.24.camel@dabdike.int.hansenpartnership.com> References : http://marc.info/?l=linux-kernel&m=132778076214873&w=2 Bug-Entry : http://bugzilla.kernel.org/show_bug.cgi?id=42686 Subject : iwlagn is getting even worse with 3.3-rc1 Submitter : Norbert Preining <preining@logic.at> Date : 2012-01-24 1:36 (31 days old) Message-ID : <20120124013625.GB18436@gamma.logic.tuwien.ac.at> References : http://marc.info/?l=linux-kernel&m=132736918325378&w=2 Bug-Entry : http://bugzilla.kernel.org/show_bug.cgi?id=42683 Subject : WARN... Device 'cpu1' does not have a release() function, it is broken and must be fixed. when doing 'xl vcpu-set <guest_id> 1' Submitter : Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> Date : 2012-01-23 18:06 (32 days old) Message-ID : <20120123180601.GA24553@phenom.dumpdata.com> References : http://marc.info/?l=linux-kernel&m=132734233916154&w=2 Bug-Entry : http://bugzilla.kernel.org/show_bug.cgi?id=42678 Subject : [3.3-rc1] radeon stuck in kernel after lockup Submitter : Torsten Kaiser <just.for.lkml@googlemail.com> Date : 2012-01-21 19:03 (34 days old) Message-ID : <CAPVoSvSXMvRb=1itu9DjF+s=6zfAChvUxS-x=b8EV9kOZinNpA@mail.gmail.com> References : http://marc.info/?l=linux-kernel&m=132717279606670&w=2 Handled-By : Jérôme Glisse <glisse@freedesktop.org> Bug-Entry : http://bugzilla.kernel.org/show_bug.cgi?id=42669 Subject : 3.3-rc1: compiling problems nvme , l2cap_sock , mc13892-regulator , and snd-pcsp don't work Submitter : werner <w.landgraf@ru.ru> Date : 2012-01-20 18:52 (35 days old) Message-ID : <web-682421181@zbackend1.aha.ru> References : http://marc.info/?l=linux-kernel&m=132708923719565&w=2 For details, please visit the bug entries and follow the links given in references. As you can see, there is a Bugzilla entry for each of the listed regressions. There also is a Bugzilla entry used for tracking the regressions from 3.2, unresolved as well as resolved, at: http://bugzilla.kernel.org/show_bug.cgi?id=42644 Please let the tracking team know if there are any Bugzilla entries that should be added to the list in there. Thanks! -- To unsubscribe from this list: send the line "unsubscribe linux-acpi" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: 3.3-rc4+: Reported regressions from 3.2 2012-02-23 22:51 3.3-rc4+: Reported regressions from 3.2 Rafael J. Wysocki @ 2012-02-23 23:28 ` David Miller 2012-02-24 0:13 ` Rafael J. Wysocki [not found] ` <qCQH7HfZS8E.A.x6F.98rRPB@chimera> 1 sibling, 1 reply; 10+ messages in thread From: David Miller @ 2012-02-23 23:28 UTC (permalink / raw) To: rjw Cc: linux-scsi, linux-acpi, netdev, linux-wireless, linux-kernel, dri-devel, florian, akpm, kernel-testers, torvalds, linux-pm, maciej.rutecki From: "Rafael J. Wysocki" <rjw@sisk.pl> Date: Thu, 23 Feb 2012 23:51:20 +0100 (CET) > Bug-Entry : http://bugzilla.kernel.org/show_bug.cgi?id=42776 > Subject : OF-related boot crash in 3.3.0-rc3-00188-g3ec1e88 > Submitter : Meelis Roos <mroos@linux.ee> > Date : 2012-02-13 7:45 (11 days old) > Message-ID : <alpine.SOC.1.00.1202130942030.1488@math.ut.ee> > References : http://marc.info/?l=linux-kernel&m=132911916331615&w=2 Potential workaround/fix at: http://marc.info/?l=linux-kernel&m=132993294018762&w=2 ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: 3.3-rc4+: Reported regressions from 3.2 2012-02-23 23:28 ` David Miller @ 2012-02-24 0:13 ` Rafael J. Wysocki 0 siblings, 0 replies; 10+ messages in thread From: Rafael J. Wysocki @ 2012-02-24 0:13 UTC (permalink / raw) To: David Miller Cc: linux-kernel, maciej.rutecki, florian, akpm, torvalds, kernel-testers, netdev, linux-acpi, linux-pm, linux-scsi, linux-wireless, dri-devel On Friday, February 24, 2012, David Miller wrote: > From: "Rafael J. Wysocki" <rjw@sisk.pl> > Date: Thu, 23 Feb 2012 23:51:20 +0100 (CET) > > > Bug-Entry : http://bugzilla.kernel.org/show_bug.cgi?id=42776 > > Subject : OF-related boot crash in 3.3.0-rc3-00188-g3ec1e88 > > Submitter : Meelis Roos <mroos@linux.ee> > > Date : 2012-02-13 7:45 (11 days old) > > Message-ID : <alpine.SOC.1.00.1202130942030.1488@math.ut.ee> > > References : http://marc.info/?l=linux-kernel&m=132911916331615&w=2 > > Potential workaround/fix at: > > http://marc.info/?l=linux-kernel&m=132993294018762&w=2 Thanks, updated. Rafael ^ permalink raw reply [flat|nested] 10+ messages in thread
[parent not found: <qCQH7HfZS8E.A.x6F.98rRPB@chimera>]
* Re: [Bug #42707] Hang deconfiguring network interface (in shutdown) on 3.3-rc1 [not found] ` <qCQH7HfZS8E.A.x6F.98rRPB@chimera> @ 2012-02-27 23:44 ` James Bottomley 2012-02-28 1:24 ` Matt Carlson [not found] ` <1330386274.2822.105.camel-sFMDBYUN5F8GjUHQrlYNx2Wm91YjaHnnhRte9Li2A+AAvxtiuMwx3w@public.gmane.org> 0 siblings, 2 replies; 10+ messages in thread From: James Bottomley @ 2012-02-27 23:44 UTC (permalink / raw) To: Rafael J. Wysocki Cc: Linux Kernel Mailing List, Kernel Testers List, Maciej Rutecki, Florian Mickler, Matt Carlson, Michael Chan, Ben Hutchings, David S. Miller, netdev On Thu, 2012-02-23 at 23:55 +0100, Rafael J. Wysocki wrote: > This message has been generated automatically as a part of a summary report > of recent regressions. > > The following bug entry is on the current list of known regressions > from 3.2. Please verify if it still should be listed and let the tracking team > know (either way). > > > Bug-Entry : http://bugzilla.kernel.org/show_bug.cgi?id=42707 > Subject : Hang deconfiguring network interface (in shutdown) on 3.3-rc1 > Submitter : James Bottomley <James.Bottomley@hansenpartnership.com> > Date : 2012-01-28 19:56 (27 days old) > Message-ID : <1327780565.2924.24.camel@dabdike.int.hansenpartnership.com> > References : http://marc.info/?l=linux-kernel&m=132778076214873&w=2 Still present in 3.3-rc4; I've bisected it back to this commit: commit 92feeabf3f673767c6ee4cfc7fc224098446c1c1 Author: Matt Carlson <mcarlson@broadcom.com> Date: Thu Dec 8 14:40:14 2011 +0000 tg3: Save stats across chip resets and sure enough, just reverting this single commit on 3.3-rc4 fixes the problem. James ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [Bug #42707] Hang deconfiguring network interface (in shutdown) on 3.3-rc1 2012-02-27 23:44 ` [Bug #42707] Hang deconfiguring network interface (in shutdown) on 3.3-rc1 James Bottomley @ 2012-02-28 1:24 ` Matt Carlson [not found] ` <20120228012408.GA29622-+O+RPeR0w/SWJtbYL5oUVDJtLkR7yuzc@public.gmane.org> [not found] ` <1330386274.2822.105.camel-sFMDBYUN5F8GjUHQrlYNx2Wm91YjaHnnhRte9Li2A+AAvxtiuMwx3w@public.gmane.org> 1 sibling, 1 reply; 10+ messages in thread From: Matt Carlson @ 2012-02-28 1:24 UTC (permalink / raw) To: James Bottomley Cc: Rafael J. Wysocki, Linux Kernel Mailing List, Kernel Testers List, Maciej Rutecki, Florian Mickler, Matt Carlson, Michael Chan, Ben Hutchings, David S. Miller, netdev On Mon, Feb 27, 2012 at 05:44:34PM -0600, James Bottomley wrote: > On Thu, 2012-02-23 at 23:55 +0100, Rafael J. Wysocki wrote: > > This message has been generated automatically as a part of a summary report > > of recent regressions. > > > > The following bug entry is on the current list of known regressions > > from 3.2. Please verify if it still should be listed and let the tracking team > > know (either way). > > > > > > Bug-Entry : http://bugzilla.kernel.org/show_bug.cgi?id=42707 > > Subject : Hang deconfiguring network interface (in shutdown) on 3.3-rc1 > > Submitter : James Bottomley <James.Bottomley@hansenpartnership.com> > > Date : 2012-01-28 19:56 (27 days old) > > Message-ID : <1327780565.2924.24.camel@dabdike.int.hansenpartnership.com> > > References : http://marc.info/?l=linux-kernel&m=132778076214873&w=2 > > Still present in 3.3-rc4; I've bisected it back to this commit: > > commit 92feeabf3f673767c6ee4cfc7fc224098446c1c1 > Author: Matt Carlson <mcarlson@broadcom.com> > Date: Thu Dec 8 14:40:14 2011 +0000 > > tg3: Save stats across chip resets > > and sure enough, just reverting this single commit on 3.3-rc4 fixes the > problem. > > James I don't see anything incorrect about the patch. I'm guessing the patch just changes the timing somehow. tg3_reset_chip() does not take any driver-internal spinlocks. That happens at tg3_close(). I'm guessing the spinlock in the trace is coming from synchronize_irq(). ^ permalink raw reply [flat|nested] 10+ messages in thread
[parent not found: <20120228012408.GA29622-+O+RPeR0w/SWJtbYL5oUVDJtLkR7yuzc@public.gmane.org>]
* Re: [Bug #42707] Hang deconfiguring network interface (in shutdown) on 3.3-rc1 [not found] ` <20120228012408.GA29622-+O+RPeR0w/SWJtbYL5oUVDJtLkR7yuzc@public.gmane.org> @ 2012-02-28 21:07 ` David Miller 0 siblings, 0 replies; 10+ messages in thread From: David Miller @ 2012-02-28 21:07 UTC (permalink / raw) To: mcarlson-dY08KVG/lbpWk0Htik3J/w Cc: James.Bottomley-d9PhHud1JfjCXq6kfMZ53/egYHeGw8Jk, rjw-KKrjLPT3xs0, linux-kernel-u79uwXL29TY76Z2rM5mHXA, kernel-testers-u79uwXL29TY76Z2rM5mHXA, maciej.rutecki-Re5JQEeQqe8AvxtiuMwx3w, florian-sVu6HhrpSfRAfugRpC6u6w, mchan-dY08KVG/lbpWk0Htik3J/w, bhutchings-s/n/eUQHGBpZroRs9YW3xA, netdev-u79uwXL29TY76Z2rM5mHXA From: "Matt Carlson" <mcarlson-dY08KVG/lbpWk0Htik3J/w@public.gmane.org> Date: Mon, 27 Feb 2012 17:24:08 -0800 > On Mon, Feb 27, 2012 at 05:44:34PM -0600, James Bottomley wrote: >> On Thu, 2012-02-23 at 23:55 +0100, Rafael J. Wysocki wrote: >> > This message has been generated automatically as a part of a summary report >> > of recent regressions. >> > >> > The following bug entry is on the current list of known regressions >> > from 3.2. Please verify if it still should be listed and let the tracking team >> > know (either way). >> > >> > >> > Bug-Entry : http://bugzilla.kernel.org/show_bug.cgi?id=42707 >> > Subject : Hang deconfiguring network interface (in shutdown) on 3.3-rc1 >> > Submitter : James Bottomley <James.Bottomley-JuX6DAaQMKPCXq6kfMZ53/egYHeGw8Jk@public.gmane.org> >> > Date : 2012-01-28 19:56 (27 days old) >> > Message-ID : <1327780565.2924.24.camel-sFMDBYUN5F8GjUHQrlYNx2Wm91YjaHnnhRte9Li2A+AAvxtiuMwx3w@public.gmane.org> >> > References : http://marc.info/?l=linux-kernel&m=132778076214873&w=2 >> >> Still present in 3.3-rc4; I've bisected it back to this commit: >> >> commit 92feeabf3f673767c6ee4cfc7fc224098446c1c1 >> Author: Matt Carlson <mcarlson-dY08KVG/lbpWk0Htik3J/w@public.gmane.org> >> Date: Thu Dec 8 14:40:14 2011 +0000 >> >> tg3: Save stats across chip resets >> >> and sure enough, just reverting this single commit on 3.3-rc4 fixes the >> problem. >> >> James > > I don't see anything incorrect about the patch. I'm guessing the patch > just changes the timing somehow. > > tg3_reset_chip() does not take any driver-internal spinlocks. That > happens at tg3_close(). I'm guessing the spinlock in the trace is coming > from synchronize_irq(). If you can't figure it out, we need to revert, so send me a revert patch as soon as possible. ^ permalink raw reply [flat|nested] 10+ messages in thread
[parent not found: <1330386274.2822.105.camel-sFMDBYUN5F8GjUHQrlYNx2Wm91YjaHnnhRte9Li2A+AAvxtiuMwx3w@public.gmane.org>]
* Re: [Bug #42707] Hang deconfiguring network interface (in shutdown) on 3.3-rc1 [not found] ` <1330386274.2822.105.camel-sFMDBYUN5F8GjUHQrlYNx2Wm91YjaHnnhRte9Li2A+AAvxtiuMwx3w@public.gmane.org> @ 2012-02-28 23:32 ` Matt Carlson [not found] ` <20120228233225.GA1322-+O+RPeR0w/SWJtbYL5oUVDJtLkR7yuzc@public.gmane.org> 0 siblings, 1 reply; 10+ messages in thread From: Matt Carlson @ 2012-02-28 23:32 UTC (permalink / raw) To: James Bottomley Cc: Rafael J. Wysocki, Linux Kernel Mailing List, Kernel Testers List, Maciej Rutecki, Florian Mickler, Matt Carlson, Michael Chan, Ben Hutchings, David S. Miller, netdev-u79uwXL29TY76Z2rM5mHXA On Mon, Feb 27, 2012 at 05:44:34PM -0600, James Bottomley wrote: > On Thu, 2012-02-23 at 23:55 +0100, Rafael J. Wysocki wrote: > > This message has been generated automatically as a part of a summary report > > of recent regressions. > > > > The following bug entry is on the current list of known regressions > > from 3.2. Please verify if it still should be listed and let the tracking team > > know (either way). > > > > > > Bug-Entry : http://bugzilla.kernel.org/show_bug.cgi?id=42707 > > Subject : Hang deconfiguring network interface (in shutdown) on 3.3-rc1 > > Submitter : James Bottomley <James.Bottomley-JuX6DAaQMKPCXq6kfMZ53/egYHeGw8Jk@public.gmane.org> > > Date : 2012-01-28 19:56 (27 days old) > > Message-ID : <1327780565.2924.24.camel-sFMDBYUN5F8GjUHQrlYNx2Wm91YjaHnnhRte9Li2A+AAvxtiuMwx3w@public.gmane.org> > > References : http://marc.info/?l=linux-kernel&m=132778076214873&w=2 > > Still present in 3.3-rc4; I've bisected it back to this commit: > > commit 92feeabf3f673767c6ee4cfc7fc224098446c1c1 > Author: Matt Carlson <mcarlson-dY08KVG/lbpWk0Htik3J/w@public.gmane.org> > Date: Thu Dec 8 14:40:14 2011 +0000 > > tg3: Save stats across chip resets > > and sure enough, just reverting this single commit on 3.3-rc4 fixes the > problem. > > James Are you dealing with a bcm5700 or bcm5701 device? If so, can you try the following patch? Subject: [PATCH 1/1] tg3: Fix tg3_get_stats64 for 5700 / 5701 devs tg3_get_stats64() takes tp->lock when dealing with non-serdes bcm5700 and bcm5701 devices. However, functions that call tg3_halt() have already acquired tp->lock. When tg3_get_stats64() is called in tg3_halt(), deadlock will occur. This patch fixes the problem by separating the stat gathering code into a new tg3_get_nstats() function. tg3_get_stats64() is recoded to call this function and take tp->lock. The code that takes tp->lock in tg3_calc_crc_errors() has been removed. Function signatures have been cleaned up too. Signed-off-by: Matt Carlson <mcarlson-dY08KVG/lbpWk0Htik3J/w@public.gmane.org> --- drivers/net/ethernet/broadcom/tg3.c | 43 ++++++++++++++++++----------------- 1 files changed, 22 insertions(+), 21 deletions(-) diff --git a/drivers/net/ethernet/broadcom/tg3.c b/drivers/net/ethernet/broadcom/tg3.c index 97dcccd..76f33d5 100644 --- a/drivers/net/ethernet/broadcom/tg3.c +++ b/drivers/net/ethernet/broadcom/tg3.c @@ -8001,10 +8001,8 @@ static int tg3_chip_reset(struct tg3 *tp) return 0; } -static struct rtnl_link_stats64 *tg3_get_stats64(struct net_device *, - struct rtnl_link_stats64 *); -static struct tg3_ethtool_stats *tg3_get_estats(struct tg3 *, - struct tg3_ethtool_stats *); +static void tg3_get_nstats(struct tg3 *, struct rtnl_link_stats64 *); +static void tg3_get_estats(struct tg3 *, struct tg3_ethtool_stats *); /* tp->lock is held. */ static int tg3_halt(struct tg3 *tp, int kind, int silent) @@ -8025,7 +8023,7 @@ static int tg3_halt(struct tg3 *tp, int kind, int silent) if (tp->hw_stats) { /* Save the stats across chip resets... */ - tg3_get_stats64(tp->dev, &tp->net_stats_prev), + tg3_get_nstats(tp, &tp->net_stats_prev); tg3_get_estats(tp, &tp->estats_prev); /* And make sure the next sample is new data */ @@ -10125,7 +10123,7 @@ static inline u64 get_stat64(tg3_stat64_t *val) return ((u64)val->high << 32) | ((u64)val->low); } -static u64 calc_crc_errors(struct tg3 *tp) +static u64 tg3_calc_crc_errors(struct tg3 *tp) { struct tg3_hw_stats *hw_stats = tp->hw_stats; @@ -10134,14 +10132,12 @@ static u64 calc_crc_errors(struct tg3 *tp) GET_ASIC_REV(tp->pci_chip_rev_id) == ASIC_REV_5701)) { u32 val; - spin_lock_bh(&tp->lock); if (!tg3_readphy(tp, MII_TG3_TEST1, &val)) { tg3_writephy(tp, MII_TG3_TEST1, val | MII_TG3_TEST1_CRC_EN); tg3_readphy(tp, MII_TG3_RXR_COUNTERS, &val); } else val = 0; - spin_unlock_bh(&tp->lock); tp->phy_crc_errors += val; @@ -10155,8 +10151,7 @@ static u64 calc_crc_errors(struct tg3 *tp) estats->member = old_estats->member + \ get_stat64(&hw_stats->member) -static struct tg3_ethtool_stats *tg3_get_estats(struct tg3 *tp, - struct tg3_ethtool_stats *estats) +static void tg3_get_estats(struct tg3 *tp, struct tg3_ethtool_stats *estats) { struct tg3_ethtool_stats *old_estats = &tp->estats_prev; struct tg3_hw_stats *hw_stats = tp->hw_stats; @@ -10238,20 +10233,13 @@ static struct tg3_ethtool_stats *tg3_get_estats(struct tg3 *tp, ESTAT_ADD(nic_tx_threshold_hit); ESTAT_ADD(mbuf_lwm_thresh_hit); - - return estats; } -static struct rtnl_link_stats64 *tg3_get_stats64(struct net_device *dev, - struct rtnl_link_stats64 *stats) +static void tg3_get_nstats(struct tg3 *tp, struct rtnl_link_stats64 *stats) { - struct tg3 *tp = netdev_priv(dev); struct rtnl_link_stats64 *old_stats = &tp->net_stats_prev; struct tg3_hw_stats *hw_stats = tp->hw_stats; - if (!hw_stats) - return old_stats; - stats->rx_packets = old_stats->rx_packets + get_stat64(&hw_stats->rx_ucast_packets) + get_stat64(&hw_stats->rx_mcast_packets) + @@ -10294,15 +10282,13 @@ static struct rtnl_link_stats64 *tg3_get_stats64(struct net_device *dev, get_stat64(&hw_stats->tx_carrier_sense_errors); stats->rx_crc_errors = old_stats->rx_crc_errors + - calc_crc_errors(tp); + tg3_calc_crc_errors(tp); stats->rx_missed_errors = old_stats->rx_missed_errors + get_stat64(&hw_stats->rx_discards); stats->rx_dropped = tp->rx_dropped; stats->tx_dropped = tp->tx_dropped; - - return stats; } static int tg3_get_regs_len(struct net_device *dev) @@ -12213,6 +12199,21 @@ static const struct ethtool_ops tg3_ethtool_ops = { .set_rxfh_indir = tg3_set_rxfh_indir, }; +static struct rtnl_link_stats64 *tg3_get_stats64(struct net_device *dev, + struct rtnl_link_stats64 *stats) +{ + struct tg3 *tp = netdev_priv(dev); + + if (!tp->hw_stats) + return &tp->net_stats_prev; + + spin_lock_bh(&tp->lock); + tg3_get_nstats(tp, stats); + spin_unlock_bh(&tp->lock); + + return stats; +} + static void tg3_set_rx_mode(struct net_device *dev) { struct tg3 *tp = netdev_priv(dev); -- 1.7.3.4 ^ permalink raw reply related [flat|nested] 10+ messages in thread
[parent not found: <20120228233225.GA1322-+O+RPeR0w/SWJtbYL5oUVDJtLkR7yuzc@public.gmane.org>]
* Re: [Bug #42707] Hang deconfiguring network interface (in shutdown) on 3.3-rc1 [not found] ` <20120228233225.GA1322-+O+RPeR0w/SWJtbYL5oUVDJtLkR7yuzc@public.gmane.org> @ 2012-02-29 0:58 ` James Bottomley 2012-02-29 9:33 ` Michael Chan 0 siblings, 1 reply; 10+ messages in thread From: James Bottomley @ 2012-02-29 0:58 UTC (permalink / raw) To: Matt Carlson Cc: Rafael J. Wysocki, Linux Kernel Mailing List, Kernel Testers List, Maciej Rutecki, Florian Mickler, Michael Chan, Ben Hutchings, David S. Miller, netdev-u79uwXL29TY76Z2rM5mHXA On Tue, 2012-02-28 at 15:32 -0800, Matt Carlson wrote: > On Mon, Feb 27, 2012 at 05:44:34PM -0600, James Bottomley wrote: > > On Thu, 2012-02-23 at 23:55 +0100, Rafael J. Wysocki wrote: > > > This message has been generated automatically as a part of a summary report > > > of recent regressions. > > > > > > The following bug entry is on the current list of known regressions > > > from 3.2. Please verify if it still should be listed and let the tracking team > > > know (either way). > > > > > > > > > Bug-Entry : http://bugzilla.kernel.org/show_bug.cgi?id=42707 > > > Subject : Hang deconfiguring network interface (in shutdown) on 3.3-rc1 > > > Submitter : James Bottomley <James.Bottomley-JuX6DAaQMKPCXq6kfMZ53/egYHeGw8Jk@public.gmane.org> > > > Date : 2012-01-28 19:56 (27 days old) > > > Message-ID : <1327780565.2924.24.camel-sFMDBYUN5F8GjUHQrlYNx2Wm91YjaHnnhRte9Li2A+AAvxtiuMwx3w@public.gmane.org> > > > References : http://marc.info/?l=linux-kernel&m=132778076214873&w=2 > > > > Still present in 3.3-rc4; I've bisected it back to this commit: > > > > commit 92feeabf3f673767c6ee4cfc7fc224098446c1c1 > > Author: Matt Carlson <mcarlson-dY08KVG/lbpWk0Htik3J/w@public.gmane.org> > > Date: Thu Dec 8 14:40:14 2011 +0000 > > > > tg3: Save stats across chip resets > > > > and sure enough, just reverting this single commit on 3.3-rc4 fixes the > > problem. > > > > James > > Are you dealing with a bcm5700 or bcm5701 device? Yes, this is it: 20:02.0 Ethernet controller: Broadcom Corporation NetXtreme BCM5701 Gigabit Ethernet (rev 15) Subsystem: Hewlett-Packard Company Core Lan 1000Base-T Flags: bus master, 66MHz, medium devsel, latency 128, IRQ 72 Memory at ffffffff90000000 (64-bit, non-prefetchable) [size=64K] Capabilities: [40] PCI-X non-bridge device Capabilities: [48] Power Management version 2 Capabilities: [50] Vital Product Data Capabilities: [58] MSI: Enable- Count=1/8 Maskable- 64bit+ Kernel driver in use: tg3 > If so, can you try > the following patch? > > Subject: [PATCH 1/1] tg3: Fix tg3_get_stats64 for 5700 / 5701 devs Well, the patch needs some attention: CC [M] drivers/net/ethernet/broadcom/tg3.o drivers/net/ethernet/broadcom/tg3.c: In function 'tg3_get_estats': drivers/net/ethernet/broadcom/tg3.c:9882: warning: 'return' with a value, in function returning void It also didn't apply incredibly well (the fuzz factors and line offsets are a lot higher than they should be): patching file drivers/net/ethernet/broadcom/tg3.c Hunk #1 succeeded at 7886 (offset -115 lines). Hunk #2 succeeded at 7908 (offset -115 lines). Hunk #3 succeeded at 9845 (offset -278 lines). Hunk #4 succeeded at 9854 (offset -278 lines). Hunk #5 succeeded at 9873 (offset -278 lines). Hunk #6 succeeded at 9958 (offset -275 lines). Hunk #7 succeeded at 10007 with fuzz 1 (offset -275 lines). Hunk #8 succeeded at 10103 with fuzz 2 (offset -2096 lines). but it seems to work. Thanks, James ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [Bug #42707] Hang deconfiguring network interface (in shutdown) on 3.3-rc1 2012-02-29 0:58 ` James Bottomley @ 2012-02-29 9:33 ` Michael Chan 2012-02-29 18:46 ` David Miller 0 siblings, 1 reply; 10+ messages in thread From: Michael Chan @ 2012-02-29 9:33 UTC (permalink / raw) To: James Bottomley Cc: Matt Carlson, Rafael J. Wysocki, Linux Kernel Mailing List, Kernel Testers List, Maciej Rutecki, Florian Mickler, Ben Hutchings, David S. Miller, netdev On Tue, 2012-02-28 at 18:58 -0600, James Bottomley wrote: > Well, the patch needs some attention: > > CC [M] drivers/net/ethernet/broadcom/tg3.o > drivers/net/ethernet/broadcom/tg3.c: In function 'tg3_get_estats': > drivers/net/ethernet/broadcom/tg3.c:9882: warning: 'return' with a > value, in function returning void > > It also didn't apply incredibly well (the fuzz factors and line > offsets > are a lot higher than they should be): > > patching file drivers/net/ethernet/broadcom/tg3.c > Hunk #1 succeeded at 7886 (offset -115 lines). > Hunk #2 succeeded at 7908 (offset -115 lines). > Hunk #3 succeeded at 9845 (offset -278 lines). > Hunk #4 succeeded at 9854 (offset -278 lines). > Hunk #5 succeeded at 9873 (offset -278 lines). > Hunk #6 succeeded at 9958 (offset -275 lines). > Hunk #7 succeeded at 10007 with fuzz 1 (offset -275 lines). > Hunk #8 succeeded at 10103 with fuzz 2 (offset -2096 lines). > > but it seems to work. I think Matt did the patch for the net-next tree. Here's the same patch for the net tree which is the correct tree for this patch. Thanks. Subject: [PATCH net] tg3: Fix tg3_get_stats64 for 5700 / 5701 devs From: Matt Carlson <mcarlson@broadcom.com> tg3_get_stats64() takes tp->lock when dealing with non-serdes bcm5700 and bcm5701 devices. However, functions that call tg3_halt() have already acquired tp->lock. When tg3_get_stats64() is called in tg3_halt(), deadlock will occur. This patch fixes the problem by separating the stat gathering code into a new tg3_get_nstats() function. tg3_get_stats64() is recoded to call this function and take tp->lock. The code that takes tp->lock in tg3_calc_crc_errors() has been removed. Function signatures have been cleaned up too. Signed-off-by: Matt Carlson <mcarlson@broadcom.com> Signed-off-by: Michael Chan <mchan@broadcom.com> --- drivers/net/ethernet/broadcom/tg3.c | 45 ++++++++++++++++++----------------- 1 files changed, 23 insertions(+), 22 deletions(-) diff --git a/drivers/net/ethernet/broadcom/tg3.c b/drivers/net/ethernet/broadcom/tg3.c index a1f2e0f..423d023 100644 --- a/drivers/net/ethernet/broadcom/tg3.c +++ b/drivers/net/ethernet/broadcom/tg3.c @@ -7886,10 +7886,8 @@ static int tg3_chip_reset(struct tg3 *tp) return 0; } -static struct rtnl_link_stats64 *tg3_get_stats64(struct net_device *, - struct rtnl_link_stats64 *); -static struct tg3_ethtool_stats *tg3_get_estats(struct tg3 *, - struct tg3_ethtool_stats *); +static void tg3_get_nstats(struct tg3 *, struct rtnl_link_stats64 *); +static void tg3_get_estats(struct tg3 *, struct tg3_ethtool_stats *); /* tp->lock is held. */ static int tg3_halt(struct tg3 *tp, int kind, int silent) @@ -7910,7 +7908,7 @@ static int tg3_halt(struct tg3 *tp, int kind, int silent) if (tp->hw_stats) { /* Save the stats across chip resets... */ - tg3_get_stats64(tp->dev, &tp->net_stats_prev), + tg3_get_nstats(tp, &tp->net_stats_prev), tg3_get_estats(tp, &tp->estats_prev); /* And make sure the next sample is new data */ @@ -9847,7 +9845,7 @@ static inline u64 get_stat64(tg3_stat64_t *val) return ((u64)val->high << 32) | ((u64)val->low); } -static u64 calc_crc_errors(struct tg3 *tp) +static u64 tg3_calc_crc_errors(struct tg3 *tp) { struct tg3_hw_stats *hw_stats = tp->hw_stats; @@ -9856,14 +9854,12 @@ static u64 calc_crc_errors(struct tg3 *tp) GET_ASIC_REV(tp->pci_chip_rev_id) == ASIC_REV_5701)) { u32 val; - spin_lock_bh(&tp->lock); if (!tg3_readphy(tp, MII_TG3_TEST1, &val)) { tg3_writephy(tp, MII_TG3_TEST1, val | MII_TG3_TEST1_CRC_EN); tg3_readphy(tp, MII_TG3_RXR_COUNTERS, &val); } else val = 0; - spin_unlock_bh(&tp->lock); tp->phy_crc_errors += val; @@ -9877,14 +9873,13 @@ static u64 calc_crc_errors(struct tg3 *tp) estats->member = old_estats->member + \ get_stat64(&hw_stats->member) -static struct tg3_ethtool_stats *tg3_get_estats(struct tg3 *tp, - struct tg3_ethtool_stats *estats) +static void tg3_get_estats(struct tg3 *tp, struct tg3_ethtool_stats *estats) { struct tg3_ethtool_stats *old_estats = &tp->estats_prev; struct tg3_hw_stats *hw_stats = tp->hw_stats; if (!hw_stats) - return old_estats; + return; ESTAT_ADD(rx_octets); ESTAT_ADD(rx_fragments); @@ -9963,20 +9958,13 @@ static struct tg3_ethtool_stats *tg3_get_estats(struct tg3 *tp, ESTAT_ADD(nic_tx_threshold_hit); ESTAT_ADD(mbuf_lwm_thresh_hit); - - return estats; } -static struct rtnl_link_stats64 *tg3_get_stats64(struct net_device *dev, - struct rtnl_link_stats64 *stats) +static void tg3_get_nstats(struct tg3 *tp, struct rtnl_link_stats64 *stats) { - struct tg3 *tp = netdev_priv(dev); struct rtnl_link_stats64 *old_stats = &tp->net_stats_prev; struct tg3_hw_stats *hw_stats = tp->hw_stats; - if (!hw_stats) - return old_stats; - stats->rx_packets = old_stats->rx_packets + get_stat64(&hw_stats->rx_ucast_packets) + get_stat64(&hw_stats->rx_mcast_packets) + @@ -10019,15 +10007,13 @@ static struct rtnl_link_stats64 *tg3_get_stats64(struct net_device *dev, get_stat64(&hw_stats->tx_carrier_sense_errors); stats->rx_crc_errors = old_stats->rx_crc_errors + - calc_crc_errors(tp); + tg3_calc_crc_errors(tp); stats->rx_missed_errors = old_stats->rx_missed_errors + get_stat64(&hw_stats->rx_discards); stats->rx_dropped = tp->rx_dropped; stats->tx_dropped = tp->tx_dropped; - - return stats; } static inline u32 calc_crc(unsigned char *buf, int len) @@ -15409,6 +15395,21 @@ static void __devinit tg3_init_coal(struct tg3 *tp) } } +static struct rtnl_link_stats64 *tg3_get_stats64(struct net_device *dev, + struct rtnl_link_stats64 *stats) +{ + struct tg3 *tp = netdev_priv(dev); + + if (!tp->hw_stats) + return &tp->net_stats_prev; + + spin_lock_bh(&tp->lock); + tg3_get_nstats(tp, stats); + spin_unlock_bh(&tp->lock); + + return stats; +} + static const struct net_device_ops tg3_netdev_ops = { .ndo_open = tg3_open, .ndo_stop = tg3_close, -- 1.7.1 ^ permalink raw reply related [flat|nested] 10+ messages in thread
* Re: [Bug #42707] Hang deconfiguring network interface (in shutdown) on 3.3-rc1 2012-02-29 9:33 ` Michael Chan @ 2012-02-29 18:46 ` David Miller 0 siblings, 0 replies; 10+ messages in thread From: David Miller @ 2012-02-29 18:46 UTC (permalink / raw) To: mchan-dY08KVG/lbpWk0Htik3J/w Cc: James.Bottomley-d9PhHud1JfjCXq6kfMZ53/egYHeGw8Jk, mcarlson-dY08KVG/lbpWk0Htik3J/w, rjw-KKrjLPT3xs0, linux-kernel-u79uwXL29TY76Z2rM5mHXA, kernel-testers-u79uwXL29TY76Z2rM5mHXA, maciej.rutecki-Re5JQEeQqe8AvxtiuMwx3w, florian-sVu6HhrpSfRAfugRpC6u6w, bhutchings-s/n/eUQHGBpZroRs9YW3xA, netdev-u79uwXL29TY76Z2rM5mHXA From: "Michael Chan" <mchan-dY08KVG/lbpWk0Htik3J/w@public.gmane.org> Date: Wed, 29 Feb 2012 01:33:37 -0800 > Subject: [PATCH net] tg3: Fix tg3_get_stats64 for 5700 / 5701 devs > > From: Matt Carlson <mcarlson-dY08KVG/lbpWk0Htik3J/w@public.gmane.org> > > tg3_get_stats64() takes tp->lock when dealing with non-serdes bcm5700 > and bcm5701 devices. However, functions that call tg3_halt() have > already acquired tp->lock. When tg3_get_stats64() is called in > tg3_halt(), deadlock will occur. > > This patch fixes the problem by separating the stat gathering code into > a new tg3_get_nstats() function. tg3_get_stats64() is recoded to call > this function and take tp->lock. The code that takes tp->lock in > tg3_calc_crc_errors() has been removed. Function signatures have been > cleaned up too. > > Signed-off-by: Matt Carlson <mcarlson-dY08KVG/lbpWk0Htik3J/w@public.gmane.org> > Signed-off-by: Michael Chan <mchan-dY08KVG/lbpWk0Htik3J/w@public.gmane.org> Applied, thanks everyone. ^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2012-02-29 18:46 UTC | newest] Thread overview: 10+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2012-02-23 22:51 3.3-rc4+: Reported regressions from 3.2 Rafael J. Wysocki 2012-02-23 23:28 ` David Miller 2012-02-24 0:13 ` Rafael J. Wysocki [not found] ` <qCQH7HfZS8E.A.x6F.98rRPB@chimera> 2012-02-27 23:44 ` [Bug #42707] Hang deconfiguring network interface (in shutdown) on 3.3-rc1 James Bottomley 2012-02-28 1:24 ` Matt Carlson [not found] ` <20120228012408.GA29622-+O+RPeR0w/SWJtbYL5oUVDJtLkR7yuzc@public.gmane.org> 2012-02-28 21:07 ` David Miller [not found] ` <1330386274.2822.105.camel-sFMDBYUN5F8GjUHQrlYNx2Wm91YjaHnnhRte9Li2A+AAvxtiuMwx3w@public.gmane.org> 2012-02-28 23:32 ` Matt Carlson [not found] ` <20120228233225.GA1322-+O+RPeR0w/SWJtbYL5oUVDJtLkR7yuzc@public.gmane.org> 2012-02-29 0:58 ` James Bottomley 2012-02-29 9:33 ` Michael Chan 2012-02-29 18:46 ` David Miller
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).