Subject: Re: Linux kernel 3.x problems on PowerMac G5

From: Benjamin Herrenschmidt <[email-masked]>
Date: Sun, 10 Mar 2013 11:45:08 +1100

On Sun, 2013-03-10 at 01:26 +0100, Phileas Fogg wrote:

> i managed to find the bad commit after a couple of days bisecting.

Thanks !

> ----------------------------
> 44ae3ab3358e962039c36ad4ae461ae9fb29596c is the first bad commit
> commit 44ae3ab3358e962039c36ad4ae461ae9fb29596c
> Author: Matt Evans <[email-masked]>
> Date:   Wed Apr 6 19:48:50 2011 +0000
> 
>      powerpc: Free up some CPU feature bits by moving out MMU-related 
> features
> 
>      Some of the 64bit PPC CPU features are MMU-related, so this patch moves
>      them to MMU_FTR_ bits.  All cpu_has_feature()-style tests are moved to
>      mmu_has_feature(), and seven feature bits are freed as a result.
> 
>      Signed-off-by: Matt Evans <[email-masked]>
>      Signed-off-by: Benjamin Herrenschmidt <[email-masked]>
> --------------------------------

Have you verified that if you checkout git at the above commit point, it
fails and if you then just revert that commit on top, it works again ?

The above should have been mostly a NOP change but I'll have a closer
look in case a typo of some kind actually broke something.

> Actually, there are 2 problems i found.
> The first problem occurs when i enable IDE CDROM driver on my machine.
> The following commit causes hangs on my machine at boot:

Ok. You may want to switch to the new libata instead of the old IDE
driver too

(CONFIG_IDE off, CONFIG_ATA on, CONFIG_PATA_MACIO on and from there it
will use the SCSI CDROM driver).

> ----------------------
> commit 5b03a1b140e13a28ff6be1526892a9dc538ddef6
> Author: Tejun Heo <[email-masked]>
> Date:   Wed Mar 9 19:54:27 2011 +0100
> 
>      ide: Convert to bdops->check_events()
> 
>      Convert ->media_changed() to the new ->check_events() method.  The
>      conversion is mostly mechanical.  The only notable change is that
>      cdrom now doesn't generate any event if @slot_nr isn't CDSL_CURRENT.
>      It used to return -EINVAL which would be treated as media changed.  As
>      media changer isn't supported anyway, this doesn't make any
>      difference.
> 
>      This makes ide emit the standard disk events and allows kernel event
>      polling.  Currently, only MEDIA_CHANGE event is implemented.  Adding
>      support for EJECT_REQUEST shouldn't be difficult; however, given that
>      ide driver is already deprecated, it probably is best to leave it
>      alone.
> 
>      Signed-off-by: Tejun Heo <[email-masked]>
> ----------------------------
> 
> 
> 
> 
> If i disable IDE CDROM driver then the Linux kernel boots again
> and then it hits the commit 44ae3ab3358e962039c36ad4ae461ae9fb29596c
> and hangs again :)
> 
> The commit eca590f402332ab873d13f2d8d00fa0b91cfff36 which is before
> the commit 44ae3ab3358e962039c36ad4ae461ae9fb29596c works fine,
> i tested it myself to be on the safe side.

Ok thanks. I'll dig a bit if I get a chance next week.

Cheers,
Ben.
> Regards