2.5.22: common code changes for s/390.
PATCH 1/1 2.5.22: common code changes for s/390.
Hi Linus,
some simple common code changes for s/390:
1) Add __s390__ to the list of architectures that use unsigned int as type for rautofs_wqt_t. __s390__ is defined for both 31-bit and 64-bit linux for s/390. Both architectures are fine with unsigned int since sizeof(unsigned int) == sizeof(unsigned long) for 31 bit s/390.
2) Remove early initialization call ccwcache_init(). It doesn't exists anymore.
3) Remove special case for irq_stat. We moved the irq_stat structure out of the lowcore.
4) Set LOG_BUF_LEN to 128K for s/390. With cio_msg=yes the common io layer is very verbose.
5) Replace acquire_console_sem with down_trylock & return to avoid an endless trap loop if console_unblank is called from interrupt context and the console semaphore is taken.
blue skies,
Martin.
include/linux/auto_fs.h +2 -1
@@ -45,7 +45,8 @@* If so, 32-bit user-space code should be backwards compatible. */ -#if defined(__sparc__) || defined(__mips__) || defined(__x86_64__) || defined(__powerpc__) +#if defined(__sparc__) || defined(__mips__) || defined(__x86_64) \ + || defined(__powerpc__) || defined(__s390__)typedef unsigned int autofs_wqt_t ;#else typedef unsigned long autofs_wqt_t ;
init/main.c +0 -4
@@ -34,7 +34,6 @@#if defined(CONFIG_ARCH_S390 )#include <asm/s390mach.h> -#include <asm/ccwcache.h> #endif #ifdef CONFIG_MTRR
@@ -393,9 +392,6 @@buffer_init ();vfs_caches_init (mempages);radix_tree_init (); -#if defined(CONFIG_ARCH_S390 ) -ccwcache_init (); -#endif signals_init ();#ifdef CONFIG_PROC_FS proc_root_init ();
kernel/ksyms.c +1 -3
@@ -388,9 +388,7 @@EXPORT_SYMBOL (del_timer);EXPORT_SYMBOL (request_irq);EXPORT_SYMBOL (free_irq); -#if !defined(CONFIG_ARCH_S390 ) -EXPORT_SYMBOL (irq_stat);/* No separate irq_stat for s390, it is part of PSA */ -#endif +EXPORT_SYMBOL (irq_stat);/* waitqueue handling */ EXPORT_SYMBOL (add_wait_queue);
kernel/printk.c +10 -1
@@ -31,6 +31,8 @@#if defined(CONFIG_MULTIQUAD ) || defined(CONFIG_IA64 )#define LOG_BUF_LEN (65536) +#elif defined(CONFIG_ARCH_S390 ) +#define LOG_BUF_LEN (131072)#elif defined(CONFIG_SMP )#define LOG_BUF_LEN (32768)#else
@@ -553,7 +555,14 @@ {struct console *c; -acquire_console_sem (); +/* +* Try to get the console semaphore. If someone else owns it +* we have to return without unblanking because console_unblank +* may be called in interrupt context. +*/ +if (down_trylock (&console_sem) !=0 ) +return ; + console_may_schedule =0 ;for (c = console_drivers; c !=NULL ; c = c->next)if ((c->flags &CON_ENABLED ) && c->unblank) c->unblank ();