Bug#466977: 2.6.24-1-sb1-bcm91250a mipsel hangs running init
* Thiemo Seufer [EMAIL PROTECTED] [2008-04-21 04:54]: Any update on this? My patch improves things, but the latest kernel is still somewhat crashy on SWARM. It works on BigSur, though. I didn't get any upstream comments about my patch. Has that changed in the meantime? Martin, who thinks we should just got rid of SWARM and BigSur support. -- Martin Michlmayr http://www.cyrius.com/ -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Bug#466977: 2.6.24-1-sb1-bcm91250a mipsel hangs running init
* Thiemo Seufer [EMAIL PROTECTED] [2008-03-03 15:18]: The appended patch works around the problem. I don't tag it as patch because its implications are not fully analyzed upstream. It works well on my bcm91250a system, though. Do you want me to put this into our kernel package, or should I wait for Ralf to comment on the patch? I would like to wait a bit (unless we miss an important debian kernel deadline). Any update on this? -- Martin Michlmayr http://www.cyrius.com/ -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Bug#466977: 2.6.24-1-sb1-bcm91250a mipsel hangs running init
Martin Michlmayr wrote: * Thiemo Seufer [EMAIL PROTECTED] [2008-03-03 15:18]: The appended patch works around the problem. I don't tag it as patch because its implications are not fully analyzed upstream. It works well on my bcm91250a system, though. Do you want me to put this into our kernel package, or should I wait for Ralf to comment on the patch? I would like to wait a bit (unless we miss an important debian kernel deadline). Any update on this? My patch improves things, but the latest kernel is still somewhat crashy on SWARM. It works on BigSur, though. I didn't get any upstream comments about my patch. Thiemo -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Bug#466977: 2.6.24-1-sb1-bcm91250a mipsel hangs running init
Florian Lohoff wrote: Package: linux-image-2.6.24-1-sb1-bcm91250a Version: 2.6.24-4 Arch: mipsel Hi, running on a Broadcom SB1 *little endian* the kernel hangs trying to run init. The old 2.6.17 works (linux-image-2.6.17-1-sb1 version 2.6.17-5): The appended patch works around the problem. I don't tag it as patch because its implications are not fully analyzed upstream. It works well on my bcm91250a system, though. Thiemo This patch marks pages tainted by PIO IDE as dirty, instead of trying to flush them right away. This a) fixes PIO IDE for systems without dcache aliases (which lacked the necessary cache flush so far) b) improves performance a bit, since some pages may never need a cache flush c) obsoletes local_flush_data_cache_page Signed-off-by: Thiemo Seufer [EMAIL PROTECTED] --- Changed to avoid some compiler warnings. Index: linux.git/include/asm-mips/mach-generic/ide.h === --- linux.git.orig/include/asm-mips/mach-generic/ide.h 2008-03-02 20:15:24.0 + +++ linux.git/include/asm-mips/mach-generic/ide.h 2008-03-02 21:52:46.0 + @@ -107,107 +107,66 @@ #endif /* MIPS port and memory-mapped I/O string operations. */ -static inline void __ide_flush_prologue(void) +static inline void __ide_set_pages_dirty(const void *addr, unsigned long size) { -#ifdef CONFIG_SMP - if (cpu_has_dc_aliases) - preempt_disable(); -#endif -} + unsigned long end = (unsigned long)addr + size; -static inline void __ide_flush_epilogue(void) -{ -#ifdef CONFIG_SMP - if (cpu_has_dc_aliases) - preempt_enable(); -#endif -} - -static inline void __ide_flush_dcache_range(unsigned long addr, unsigned long size) -{ - if (cpu_has_dc_aliases) { - unsigned long end = addr + size; - - while (addr end) { - local_flush_data_cache_page((void *)addr); - addr += PAGE_SIZE; - } + while ((unsigned long)addr end) { + SetPageDcacheDirty(virt_to_page(addr)); + addr += PAGE_SIZE; } } -/* - * insw() and gang might be called with interrupts disabled, so we can't - * send IPIs for flushing due to the potencial of deadlocks, see the comment - * above smp_call_function() in arch/mips/kernel/smp.c. We work around the - * problem by disabling preemption so we know we actually perform the flush - * on the processor that actually has the lines to be flushed which hopefully - * is even better for performance anyway. - */ static inline void __ide_insw(unsigned long port, void *addr, unsigned int count) { - __ide_flush_prologue(); insw(port, addr, count); - __ide_flush_dcache_range((unsigned long)addr, count * 2); - __ide_flush_epilogue(); + __ide_set_pages_dirty(addr, count * 2); } -static inline void __ide_insl(unsigned long port, void *addr, unsigned int count) +static inline void __ide_insl(unsigned long port, void *addr, + unsigned int count) { - __ide_flush_prologue(); insl(port, addr, count); - __ide_flush_dcache_range((unsigned long)addr, count * 4); - __ide_flush_epilogue(); + __ide_set_pages_dirty(addr, count * 4); } static inline void __ide_outsw(unsigned long port, const void *addr, unsigned long count) { - __ide_flush_prologue(); outsw(port, addr, count); - __ide_flush_dcache_range((unsigned long)addr, count * 2); - __ide_flush_epilogue(); + __ide_set_pages_dirty(addr, count * 2); } static inline void __ide_outsl(unsigned long port, const void *addr, unsigned long count) { - __ide_flush_prologue(); outsl(port, addr, count); - __ide_flush_dcache_range((unsigned long)addr, count * 4); - __ide_flush_epilogue(); + __ide_set_pages_dirty(addr, count * 4); } static inline void __ide_mm_insw(void __iomem *port, void *addr, u32 count) { - __ide_flush_prologue(); readsw(port, addr, count); - __ide_flush_dcache_range((unsigned long)addr, count * 2); - __ide_flush_epilogue(); + __ide_set_pages_dirty(addr, count * 2); } static inline void __ide_mm_insl(void __iomem *port, void *addr, u32 count) { - __ide_flush_prologue(); readsl(port, addr, count); - __ide_flush_dcache_range((unsigned long)addr, count * 4); - __ide_flush_epilogue(); + __ide_set_pages_dirty(addr, count * 4); } static inline void __ide_mm_outsw(void __iomem *port, void *addr, u32 count) { - __ide_flush_prologue(); writesw(port, addr, count); - __ide_flush_dcache_range((unsigned long)addr, count * 2); - __ide_flush_epilogue(); + __ide_set_pages_dirty(addr, count * 2); } static inline void __ide_mm_outsl(void __iomem * port, void *addr, u32 count) { - __ide_flush_prologue(); writesl(port,
Bug#466977: 2.6.24-1-sb1-bcm91250a mipsel hangs running init
* Thiemo Seufer [EMAIL PROTECTED] [2008-03-03 12:51]: running on a Broadcom SB1 *little endian* the kernel hangs trying to run init. The old 2.6.17 works (linux-image-2.6.17-1-sb1 version 2.6.17-5): The appended patch works around the problem. I don't tag it as patch because its implications are not fully analyzed upstream. It works well on my bcm91250a system, though. Do you want me to put this into our kernel package, or should I wait for Ralf to comment on the patch? -- Martin Michlmayr http://www.cyrius.com/ -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Bug#466977: 2.6.24-1-sb1-bcm91250a mipsel hangs running init
Martin Michlmayr wrote: * Thiemo Seufer [EMAIL PROTECTED] [2008-03-03 12:51]: running on a Broadcom SB1 *little endian* the kernel hangs trying to run init. The old 2.6.17 works (linux-image-2.6.17-1-sb1 version 2.6.17-5): The appended patch works around the problem. I don't tag it as patch because its implications are not fully analyzed upstream. It works well on my bcm91250a system, though. Do you want me to put this into our kernel package, or should I wait for Ralf to comment on the patch? I would like to wait a bit (unless we miss an important debian kernel deadline). Thiemo -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Bug#466977: 2.6.24-1-sb1-bcm91250a mipsel hangs running init
Florian Lohoff wrote: Package: linux-image-2.6.24-1-sb1-bcm91250a Version: 2.6.24-4 Arch: mipsel Hi, running on a Broadcom SB1 *little endian* the kernel hangs trying to run init. The old 2.6.17 works (linux-image-2.6.17-1-sb1 version 2.6.17-5): Same for big endian. [...] kjournald starting. Commit interval 5 seconds EXT3-fs: mounted filesystem with ordered data mode. VFS: Mounted root (ext3 filesystem) readonly. Freeing unused kernel memory: 196k freed I tracked that down (in linux-mips.org's 2.6.16 tree, which was my testcase of choice) to: http://www.linux-mips.org/git?p=linux.git;a=commit;h=3a57f2ad7436d27dfa90717921b921fc3a168504 Thiemo -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Bug#466977: 2.6.24-1-sb1-bcm91250a mipsel hangs running init
Package: linux-image-2.6.24-1-sb1-bcm91250a Version: 2.6.24-4 Arch: mipsel Hi, running on a Broadcom SB1 *little endian* the kernel hangs trying to run init. The old 2.6.17 works (linux-image-2.6.17-1-sb1 version 2.6.17-5): Set up command line arguments to: root=/dev/hda3 console=duart0 Setting up initial prom_init arguments Cleaning up state... Transferring control to the kernel. Kernel entry point is at 0x80404b00 Initializing cgroup subsys cpuset Linux version 2.6.24-1-sb1-bcm91250a (Debian 2.6.24-4) ([EMAIL PROTECTED]) (gcc version 4.1.3 20071208 console [early0] enabled CPU revision is: 01040102 (SiByte SB1) FPU revision is: 000f0102 Broadcom SiByte BCM1250 B2 @ 800 MHz (SB1 rev 2) Board type: SiByte BCM91250A (SWARM) This kernel optimized for board runs with CFE Determined physical RAM map: memory: 0fe48e00 @ (usable) memory: 0e00 @ 8000 (usable) Initrd not found or empty - disabling initrd Zone PFN ranges: DMA32 0 - 1048576 Normal1048576 - 1048576 Movable zone start PFN for each node early_node_map[2] active PFN ranges 0:0 -65096 0: 524288 - 589823 Detected 1 available secondary CPU(s) Built 1 zonelists in Zone order, mobility grouping on. Total pages: 122568 Kernel command line: root=/dev/hda3 console=duart0 Primary instruction cache 32kB, VIVT, 4-way, linesize 32 bytes. Primary data cache 32kB, 4-way, PIPT, no aliases, linesize 32 bytes Synthesized TLB refill handler (45 instructions). Synthesized TLB load handler fastpath (59 instructions). Synthesized TLB store handler fastpath (54 instructions). Synthesized TLB modify handler fastpath (53 instructions). PID hash table entries: 2048 (order: 11, 16384 bytes) Console: colour dum7���ͽ���handover: boot [early0] - real [duart0] Dentry cache hash table entries: 65536 (order: 7, 524288 bytes) Inode-cache hash table entries: 32768 (order: 6, 262144 bytes) Memory: 483204k/522524k available (3114k kernel code, 38732k reserved, 930k data, 196k init, 0k high) Security Framework initialized SELinux: Disabled at boot. Capability LSM initialized Mount-cache hash table entries: 256 Initializing cgroup subsys ns Initializing cgroup subsys cpuacct Checking for the multiply/shift bug... no. Checking for the daddi bug... no. Checking for the daddiu bug... no. CPU revision is: 03040102 (SiByte SB1) FPU revision is: 000f0102 Primary instruction cache 32kB, VIVT, 4-way, linesize 32 bytes. Primary data cache 32kB, 4-way, PIPT, no aliases, linesize 32 bytes Synthesized TLB refill handler (45 instructions). Brought up 2 CPUs net_namespace: 120 bytes NET: Registered protocol family 16 registering PCI controller with io_map_base unset NET: Registered protocol family 2 Time: bcm1250-counter-3 clocksource has been installed. IP route cache hash table entries: 4096 (order: 3, 32768 bytes) TCP established hash table entries: 16384 (order: 6, 262144 bytes) TCP bind hash table entries: 16384 (order: 6, 262144 bytes) TCP: Hash tables configured (established 16384 bind 16384) TCP reno registered audit: initializing netlink socket (disabled) audit(1203668933.428:1): initialized VFS: Disk quotas dquot_6.5.1 Dquot-cache hash table entries: 512 (order 0, 4096 bytes) Installing knfsd (copyright (C) 1996 [EMAIL PROTECTED]). io scheduler noop registered io scheduler anticipatory registered io scheduler deadline registered io scheduler cfq registered (default) duart0 at MMIO 0x10060100 (irq = 8) is a SB1250 DUART duart1 at MMIO 0x10060200 (irq = 9) is a SB1250 DUART RAMDISK driver initialized: 16 RAM disks of 8192K size 1024 blocksize Uniform Multi-Platform E-IDE driver Revision: 7.00alpha2 ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx SWARM IDE driver ide-swarm: IDE interface at GenBus slot 4 hda: MAXTOR 6L040J2, ATA DISK drive ide0 at 0x9000100b3e00-0x9000100b3e07,0x9000100b7ec0 on irq 36 hda: max request size: 128KiB hda: 78177792 sectors (40027 MB) w/1818KiB Cache, CHS=65535/16/63 hda: cache flushes supported hda: hda1 hda2 hda3 hda4 mice: PS/2 mouse device common for all mice TCP bic registered Initializing XFRM netlink socket NET: Registered protocol family 1 NET: Registered protocol family 17 NET: Registered protocol family 15 RPC: Registered udp transport module. RPC: Registered tcp transport module. registered taskstats version 1 kjournald starting. Commit interval 5 seconds EXT3-fs: mounted filesystem with ordered data mode. VFS: Mounted root (ext3 filesystem) readonly. Freeing unused kernel memory: 196k freed -- Florian Lohoff [EMAIL PROTECTED] +49-171-2280134 Those who would give up a little freedom to get a little security shall soon have neither - Benjamin Franklin signature.asc Description: Digital signature
Bug#466977: 2.6.24-1-sb1-bcm91250a mipsel hangs running init
On Fri, Feb 22, 2008 at 11:22:26AM +0100, Martin Michlmayr wrote: * Florian Lohoff [EMAIL PROTECTED] [2008-02-22 09:38]: running on a Broadcom SB1 *little endian* the kernel hangs trying to run init. The old 2.6.17 works (linux-image-2.6.17-1-sb1 version 2.6.17-5): Your best bet is to forward this to [EMAIL PROTECTED] :) http://www.debian.org/Bugs/Reporting Don't file bugs upstream If you file a bug in Debian, don't send a copy to the upstream software maintainers yourself, as it is possible Just nitpicking ... I CCed debian-mips as Thiemo is reading there aswell. IIRC he said that he is beating sb1 kernel to get it functional so i was planning to point him to the bug report and opened it to make it visible that the little endian sb1 port is currently non functional. Flo -- Florian Lohoff [EMAIL PROTECTED] +49-171-2280134 Those who would give up a little freedom to get a little security shall soon have neither - Benjamin Franklin signature.asc Description: Digital signature
Bug#466977: 2.6.24-1-sb1-bcm91250a mipsel hangs running init
* Florian Lohoff [EMAIL PROTECTED] [2008-02-22 09:38]: running on a Broadcom SB1 *little endian* the kernel hangs trying to run init. The old 2.6.17 works (linux-image-2.6.17-1-sb1 version 2.6.17-5): Your best bet is to forward this to [EMAIL PROTECTED] -- Martin Michlmayr http://www.cyrius.com/ -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]