Subject: RE: Problems booting Linux 2.6.18.1 on MIPS34K core

From: Trevor Hamm <[email-masked]>
Date: Wed, 22 Nov 2006 12:31:10 -0800

> -----Original Message-----
> From: [email-masked] 
> [mailto:[email-masked]] On Behalf Of Atsushi Nemoto
> Sent: Friday, November 17, 2006 4:13 AM
> To: Trevor Hamm
> Cc: [email-masked]
> Subject: Re: Problems booting Linux 2.6.18.1 on MIPS34K core
> 
> Thanks.  I re-read your report and wonder why this happens only on
> power-up time.
> 
> If flush_data_cache_page or update_mmu_cache were broken, the problem
> can happen on every restart.
>

This page does eventually get flushed to main memory on the first boot, but unfortunately the call to __update_cache() happens after this page was copied through copy_user_highpage().

The source of the problem seems to be with squashfs.  When I compare booting a kernel using squashfs to one using cramfs (which always seems to boot successfully on power-up), both are reading the troublesome page from /lib/ld-uClibc.so, and both are calling flush_dcache_page() on this page.  But in the case of cramfs, flush_dcache_page() causes an immediate cache flush of that page (mapping_mapped(mapping) in __flush_dcache_page() is returning non-zero), while squashfs just marks the page as dirty and defers the cache flush (mapping_mapped(mapping) is returning zero).  I have no idea what causes this difference in behaviour, but right now it appears to be a bug in squashfs rather than the linux-mips kernel.

Trevor

---

From: Ralf Baechle <[email-masked]>
Date: Wed, 22 Nov 2006 21:58:04 +0000

> The source of the problem seems to be with squashfs.  When I compare booting a kernel using squashfs to one using cramfs (which always seems to boot successfully on power-up), both are reading the…

There are a few other potencial and real bugs me and Atsushi have found
in squashfs.  Guess there is a reason why it's not yet in the kernel ...
I'm still waiting for feedback from the squashfs author.

  Ralf

---

From: David McCullough <[email-masked]>
Date: Thu, 23 Nov 2006 08:43:01 +1000

Jivin Ralf Baechle lays it down ...
> I'm still waiting for feedback from the squashfs author.

Not sure if it helps much,  but we run squashfs (with 7zip patch) on
ARM9, ARM10, SuperH and x86 without problems.  I haven't had any issues
with it so far on the au1500 either,

Cheers,
Davidm

-- 
David McCullough,  [email-masked],   Ph:+61 734352815
Secure Computing - SnapGear  http://www.uCdot.org http://www.cyberguard.com