2007-05-29 12:56:45

by Michal Piotrowski

[permalink] [raw]
Subject: Re: [2/4] 2.6.22-rc3: known regressions

Hi all,

Here is a list of some known regressions in 2.6.22-rc3.

Feel free to add new regressions/remove fixed etc.
http://kernelnewbies.org/known_regressions



Networking

Subject : Network card not usable - sky2
References : http://bugzilla.kernel.org/show_bug.cgi?id=8539
Submitter : Ruben <[email protected]>
Status : Unknown



PCI

Subject : Oops on 2.6.22-rc2 when unloading the cciss driver
References : http://lkml.org/lkml/2007/5/24/172
Submitter : Mike Miller (OS Dev) <[email protected]>
Status : Unknown



PCMCIA

Subject : libata and legacy ide pcmcia failure
References : http://lkml.org/lkml/2007/5/17/305
Submitter : Robert de Rooy <[email protected]>
Status : Unknown



SATA/PATA

Subject : 22-rc3 broke the CDROM in Dell notebook
References : http://lkml.org/lkml/2007/5/27/63
Submitter : Gregor Jasny <[email protected]>
Handled-By : Tejun Heo <[email protected]>
Jeff Garzik <[email protected]>
Caused-By : Tejun Heo <[email protected]>
commit d4b2bab4f26345ea1803feb23ea92fbe3f6b77bc
Status : problem is being debugged



Sparc64

Subject : 2.6.22-rc broke X on Ultra5
References : http://lkml.org/lkml/2007/5/22/78
Submitter : Mikael Pettersson <[email protected]>
Status : Unknown



Regards,
Michal

--
"Najbardziej brakowa?o mi twojego milczenia."
-- Andrzej Sapkowski "Co? wi?cej"


2007-05-29 15:10:48

by Stephen Hemminger

[permalink] [raw]
Subject: Re: [2/4] 2.6.22-rc3: known regressions

On Tue, 29 May 2007 14:56:20 +0200
Michal Piotrowski <[email protected]> wrote:

> Hi all,
>
> Here is a list of some known regressions in 2.6.22-rc3.
>
> Feel free to add new regressions/remove fixed etc.
> http://kernelnewbies.org/known_regressions
>
>
>
> Networking
>
> Subject : Network card not usable - sky2
> References : http://bugzilla.kernel.org/show_bug.cgi?id=8539
> Submitter : Ruben <[email protected]>
> Status : Unknown
>


Not a regression. Read the bug report:
Most recent kernel where this bug did *NOT* occur:

It's been happening for a long time (I'd say always).



There is a regression since 2.6.22-rc1 where the b44 driver has
receive performance/interrupt lockup issues.

--
Stephen Hemminger <[email protected]>

2007-05-31 02:22:35

by Linus Torvalds

[permalink] [raw]
Subject: Re: [2/4] 2.6.22-rc3: known regressions



On Tue, 29 May 2007, Michal Piotrowski wrote:
>
> Subject : Oops on 2.6.22-rc2 when unloading the cciss driver
> References : http://lkml.org/lkml/2007/5/24/172
> Submitter : Mike Miller (OS Dev) <[email protected]>
> Status : Unknown

I thought this one should be fixed by commit e9ca75b53. Not so?

Mike?

Linus

2007-05-31 22:08:44

by Mike Miller (OS Dev)

[permalink] [raw]
Subject: Re: [2/4] 2.6.22-rc3: known regressions

On Wed, May 30, 2007 at 07:22:14PM -0700, Linus Torvalds wrote:
>
>
> On Tue, 29 May 2007, Michal Piotrowski wrote:
> >
> > Subject : Oops on 2.6.22-rc2 when unloading the cciss driver
> > References : http://lkml.org/lkml/2007/5/24/172
> > Submitter : Mike Miller (OS Dev) <[email protected]>
> > Status : Unknown
>
> I thought this one should be fixed by commit e9ca75b53. Not so?
>
> Mike?
>
> Linus

I apologize for the slow response. I also apologize that I don't know enough
about git to figure out what commit e9ca75b53 does. I submitted a fix that
was blessed by Eric B. that fixed that Oops.

mikem

2007-05-31 22:22:55

by Linus Torvalds

[permalink] [raw]
Subject: Re: [2/4] 2.6.22-rc3: known regressions



On Thu, 31 May 2007, Mike Miller (OS Dev) wrote:

> On Wed, May 30, 2007 at 07:22:14PM -0700, Linus Torvalds wrote:
> >
> >
> > On Tue, 29 May 2007, Michal Piotrowski wrote:
> > >
> > > Subject : Oops on 2.6.22-rc2 when unloading the cciss driver
> > > References : http://lkml.org/lkml/2007/5/24/172
> > > Submitter : Mike Miller (OS Dev) <[email protected]>
> > > Status : Unknown
> >
> > I thought this one should be fixed by commit e9ca75b53. Not so?
>
> I apologize for the slow response. I also apologize that I don't know enough
> about git to figure out what commit e9ca75b53 does.

Even without git, you can use the kernel.org gitweb install:

http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=e9ca75b53

(where the "h=...." is the magic part - pick any commit SHA1 you want,
including short-hand ones like the one I gave).

With git, you just do

git show e9ca75b53

to see a particular named commit.

> I submitted a fix that was blessed by Eric B. that fixed that Oops.

Ok, I don't think I have anything like that. The one I pointed to is the
one by Gerald Britton, acked by you ..

But I now realize that that commit was already in -rc2. In fact, it's just
before the -rc2 release. So while it claims to fix one oops on shutdown,
it may be the _cause_ of the oops on mudule unload.

Linus

2007-05-31 22:39:21

by Mike Miller (OS Dev)

[permalink] [raw]
Subject: Re: [2/4] 2.6.22-rc3: known regressions

On Thu, May 31, 2007 at 03:22:07PM -0700, Linus Torvalds wrote:
>
>
> On Thu, 31 May 2007, Mike Miller (OS Dev) wrote:
>
> > On Wed, May 30, 2007 at 07:22:14PM -0700, Linus Torvalds wrote:
> > >
> > >
> > > On Tue, 29 May 2007, Michal Piotrowski wrote:
> > > >
> > > > Subject : Oops on 2.6.22-rc2 when unloading the cciss driver
> > > > References : http://lkml.org/lkml/2007/5/24/172
> > > > Submitter : Mike Miller (OS Dev) <[email protected]>
> > > > Status : Unknown
> > >
> > > I thought this one should be fixed by commit e9ca75b53. Not so?
> >
> > I apologize for the slow response. I also apologize that I don't know enough
> > about git to figure out what commit e9ca75b53 does.
>
> Even without git, you can use the kernel.org gitweb install:
>
> http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=e9ca75b53
>
> (where the "h=...." is the magic part - pick any commit SHA1 you want,
> including short-hand ones like the one I gave).
>
> With git, you just do
>
> git show e9ca75b53
>
> to see a particular named commit.
>
> > I submitted a fix that was blessed by Eric B. that fixed that Oops.
>
> Ok, I don't think I have anything like that. The one I pointed to is the
> one by Gerald Britton, acked by you ..
>
> But I now realize that that commit was already in -rc2. In fact, it's just
> before the -rc2 release. So while it claims to fix one oops on shutdown,
> it may be the _cause_ of the oops on mudule unload.
>
> Linus
Linus,
The fix from Gerald was a different Oops and is not related to this problem.
This is the patch I submitted for the rmmod Oops:

diff --git a/drivers/pci/msi.c b/drivers/pci/msi.c
index e01380b..6632150 100644
--- a/drivers/pci/msi.c
+++ b/drivers/pci/msi.c
@@ -558,12 +558,12 @@ static int msi_free_irqs(struct pci_dev* dev)

list_for_each_entry_safe(entry, tmp, &dev->msi_list, list) {
if (entry->msi_attrib.type == PCI_CAP_ID_MSIX) {
- if (list_is_last(&entry->list, &dev->msi_list))
- iounmap(entry->mask_base);
-
writel(1, entry->mask_base + entry->msi_attrib.entry_nr
* PCI_MSIX_ENTRY_SIZE
+ PCI_MSIX_ENTRY_VECTOR_CTRL_OFFSET);
+
+ if (list_is_last(&entry->list, &dev->msi_list))
+ iounmap(entry->mask_base);
}
list_del(&entry->list);
kfree(entry);

Reference:
http://groups.google.com/group/linux.kernel/browse_frm/thread/ed0949e9d42cfdef/5953daaa00ea5bf7?lnk=gst&q=cciss&rnum=3&hl=en#5953daaa00ea5bf7

I'm not sure what the status is right now.

Thanks,
mikem

2007-05-31 22:50:36

by Andrew Morton

[permalink] [raw]
Subject: Re: [2/4] 2.6.22-rc3: known regressions

On Thu, 31 May 2007 17:39:08 -0500
"Mike Miller (OS Dev)" <[email protected]> wrote:

> On Thu, May 31, 2007 at 03:22:07PM -0700, Linus Torvalds wrote:
> >
> >
> > On Thu, 31 May 2007, Mike Miller (OS Dev) wrote:
> >
> > > On Wed, May 30, 2007 at 07:22:14PM -0700, Linus Torvalds wrote:
> > > >
> > > >
> > > > On Tue, 29 May 2007, Michal Piotrowski wrote:
> > > > >
> > > > > Subject : Oops on 2.6.22-rc2 when unloading the cciss driver
> > > > > References : http://lkml.org/lkml/2007/5/24/172
> > > > > Submitter : Mike Miller (OS Dev) <[email protected]>
> > > > > Status : Unknown
> > > >
> > > > I thought this one should be fixed by commit e9ca75b53. Not so?
> > >
> > > I apologize for the slow response. I also apologize that I don't know enough
> > > about git to figure out what commit e9ca75b53 does.
> >
> > Even without git, you can use the kernel.org gitweb install:
> >
> > http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=e9ca75b53
> >
> > (where the "h=...." is the magic part - pick any commit SHA1 you want,
> > including short-hand ones like the one I gave).
> >
> > With git, you just do
> >
> > git show e9ca75b53
> >
> > to see a particular named commit.
> >
> > > I submitted a fix that was blessed by Eric B. that fixed that Oops.
> >
> > Ok, I don't think I have anything like that. The one I pointed to is the
> > one by Gerald Britton, acked by you ..
> >
> > But I now realize that that commit was already in -rc2. In fact, it's just
> > before the -rc2 release. So while it claims to fix one oops on shutdown,
> > it may be the _cause_ of the oops on mudule unload.
> >
> > Linus
> Linus,
> The fix from Gerald was a different Oops and is not related to this problem.
> This is the patch I submitted for the rmmod Oops:
>
> diff --git a/drivers/pci/msi.c b/drivers/pci/msi.c
> index e01380b..6632150 100644
> --- a/drivers/pci/msi.c
> +++ b/drivers/pci/msi.c
> @@ -558,12 +558,12 @@ static int msi_free_irqs(struct pci_dev* dev)
>
> list_for_each_entry_safe(entry, tmp, &dev->msi_list, list) {
> if (entry->msi_attrib.type == PCI_CAP_ID_MSIX) {
> - if (list_is_last(&entry->list, &dev->msi_list))
> - iounmap(entry->mask_base);
> -
> writel(1, entry->mask_base + entry->msi_attrib.entry_nr
> * PCI_MSIX_ENTRY_SIZE
> + PCI_MSIX_ENTRY_VECTOR_CTRL_OFFSET);
> +
> + if (list_is_last(&entry->list, &dev->msi_list))
> + iounmap(entry->mask_base);
> }
> list_del(&entry->list);
> kfree(entry);
>
> Reference:
> http://groups.google.com/group/linux.kernel/browse_frm/thread/ed0949e9d42cfdef/5953daaa00ea5bf7?lnk=gst&q=cciss&rnum=3&hl=en#5953daaa00ea5bf7
>
> I'm not sure what the status is right now.
>

The status is "sitting in my queue for 2.6.22". I'll be sending it up
today or tomorrow. Was hoping to get an ack from Greg &/| Andi on it, but
those are not easy to come by.

2007-05-31 23:12:21

by Linus Torvalds

[permalink] [raw]
Subject: Re: [2/4] 2.6.22-rc3: known regressions



On Thu, 31 May 2007, Andrew Morton wrote:
>
> The status is "sitting in my queue for 2.6.22". I'll be sending it up
> today or tomorrow. Was hoping to get an ack from Greg &/| Andi on it, but
> those are not easy to come by.

Well, it looks "Obviously Correct(tm)", since clearly the iounmap() should
be done _after_ the last use. So I don't think it needs any more acking.

But tomorrow is fine..

Linus

2007-05-31 23:17:17

by Roland Dreier

[permalink] [raw]
Subject: Re: [2/4] 2.6.22-rc3: known regressions

What about the changes to fix the order that MSI-X irqs are returned
in (iirc, list_add had to be changed to list_add_tail in a couple of
places). Without that change, multiple MSI-X interrupts seem to be
broken: the kernel programs the MSI-X table in the opposite order that
it gives the irq numbers to the driver. The net effect is that if I
request, say, 3 MSI-X interrupts for a device, then when the device
generates the first interrupt, the driver thinks it generated the
third interrupt, and things go fairly haywire.

- R.

2007-05-31 23:35:25

by Andrew Morton

[permalink] [raw]
Subject: Re: [2/4] 2.6.22-rc3: known regressions

On Thu, 31 May 2007 16:17:00 -0700
Roland Dreier <[email protected]> wrote:

> What about the changes to fix the order that MSI-X irqs are returned
> in (iirc, list_add had to be changed to list_add_tail in a couple of
> places). Without that change, multiple MSI-X interrupts seem to be
> broken: the kernel programs the MSI-X table in the opposite order that
> it gives the irq numbers to the driver. The net effect is that if I
> request, say, 3 MSI-X interrupts for a device, then when the device
> generates the first interrupt, the driver thinks it generated the
> third interrupt, and things go fairly haywire.
>

That's msi-fix-the-ordering-of-msix-irqs.patch, which is also queued for
the next batch.


"next batch" == around 40 patches atm. Some of these need maintainer acks
so they will be further delayed, or more likely just merged without the
appropriate ack.



From: "Eric W. Biederman" <[email protected]>

"Mike Miller (OS Dev)" <[email protected]> writes:

Found what seems the problem with our vectors being listed backward. In
drivers/pci/msi.c we should be using list_add_tail rather than list_add to
preserve the ordering across various kernels. Please consider this for
inclusion.

Signed-off-by: "Eric W. Biederman" <[email protected]>
Screwed-up-by: Michael Ellerman <[email protected]>
Cc: "Mike Miller (OS Dev)" <[email protected]>
Cc: Andi Kleen <[email protected]>
Cc: Greg KH <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
---

drivers/pci/msi.c | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)

diff -puN drivers/pci/msi.c~msi-fix-the-ordering-of-msix-irqs drivers/pci/msi.c
--- a/drivers/pci/msi.c~msi-fix-the-ordering-of-msix-irqs
+++ a/drivers/pci/msi.c
@@ -333,7 +333,7 @@ static int msi_capability_init(struct pc
msi_mask_bits_reg(pos, is_64bit_address(control)),
maskbits);
}
- list_add(&entry->list, &dev->msi_list);
+ list_add_tail(&entry->list, &dev->msi_list);

/* Configure MSI capability structure */
ret = arch_setup_msi_irqs(dev, 1, PCI_CAP_ID_MSI);
@@ -404,7 +404,7 @@ static int msix_capability_init(struct p
entry->dev = dev;
entry->mask_base = base;

- list_add(&entry->list, &dev->msi_list);
+ list_add_tail(&entry->list, &dev->msi_list);
}

ret = arch_setup_msi_irqs(dev, nvec, PCI_CAP_ID_MSIX);
_