diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2009-04-24 11:28:27 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2009-04-24 11:28:27 -0400 |
commit | 58be18c4de37b9277b045c0b5bb123a664dac9ed (patch) | |
tree | 370d55da6958b7b31aeaffc278512fea1111134d /arch | |
parent | 12bac708e6242b0ccd969519582b2938d78289bb (diff) | |
parent | e655dc8873b2390d92888095af6adad822a8b386 (diff) |
Merge branch 'for-linus' of git://git390.marist.edu/pub/scm/linux-2.6
* 'for-linus' of git://git390.marist.edu/pub/scm/linux-2.6:
[S390] update default configuration.
[S390] omit frame pointers on s390 when possible
[S390] Use tape_generic_offline directly.
[S390] /proc/stat idle field for idle cpus
[S390] appldata: avoid deadlock with appldata_mem
[S390] ipl: fix compile breakage
Diffstat (limited to 'arch')
-rw-r--r-- | arch/s390/appldata/appldata_base.c | 32 | ||||
-rw-r--r-- | arch/s390/appldata/appldata_mem.c | 2 | ||||
-rw-r--r-- | arch/s390/defconfig | 63 | ||||
-rw-r--r-- | arch/s390/include/asm/cputime.h | 4 | ||||
-rw-r--r-- | arch/s390/kernel/ipl.c | 1 | ||||
-rw-r--r-- | arch/s390/kernel/vtime.c | 16 |
6 files changed, 88 insertions, 30 deletions
diff --git a/arch/s390/appldata/appldata_base.c b/arch/s390/appldata/appldata_base.c index aeb3cff95f63..1dfc7100c7ee 100644 --- a/arch/s390/appldata/appldata_base.c +++ b/arch/s390/appldata/appldata_base.c | |||
@@ -98,7 +98,7 @@ static DECLARE_WORK(appldata_work, appldata_work_fn); | |||
98 | /* | 98 | /* |
99 | * Ops list | 99 | * Ops list |
100 | */ | 100 | */ |
101 | static DEFINE_SPINLOCK(appldata_ops_lock); | 101 | static DEFINE_MUTEX(appldata_ops_mutex); |
102 | static LIST_HEAD(appldata_ops_list); | 102 | static LIST_HEAD(appldata_ops_list); |
103 | 103 | ||
104 | 104 | ||
@@ -129,14 +129,14 @@ static void appldata_work_fn(struct work_struct *work) | |||
129 | 129 | ||
130 | i = 0; | 130 | i = 0; |
131 | get_online_cpus(); | 131 | get_online_cpus(); |
132 | spin_lock(&appldata_ops_lock); | 132 | mutex_lock(&appldata_ops_mutex); |
133 | list_for_each(lh, &appldata_ops_list) { | 133 | list_for_each(lh, &appldata_ops_list) { |
134 | ops = list_entry(lh, struct appldata_ops, list); | 134 | ops = list_entry(lh, struct appldata_ops, list); |
135 | if (ops->active == 1) { | 135 | if (ops->active == 1) { |
136 | ops->callback(ops->data); | 136 | ops->callback(ops->data); |
137 | } | 137 | } |
138 | } | 138 | } |
139 | spin_unlock(&appldata_ops_lock); | 139 | mutex_unlock(&appldata_ops_mutex); |
140 | put_online_cpus(); | 140 | put_online_cpus(); |
141 | } | 141 | } |
142 | 142 | ||
@@ -338,7 +338,7 @@ appldata_generic_handler(ctl_table *ctl, int write, struct file *filp, | |||
338 | struct list_head *lh; | 338 | struct list_head *lh; |
339 | 339 | ||
340 | found = 0; | 340 | found = 0; |
341 | spin_lock(&appldata_ops_lock); | 341 | mutex_lock(&appldata_ops_mutex); |
342 | list_for_each(lh, &appldata_ops_list) { | 342 | list_for_each(lh, &appldata_ops_list) { |
343 | tmp_ops = list_entry(lh, struct appldata_ops, list); | 343 | tmp_ops = list_entry(lh, struct appldata_ops, list); |
344 | if (&tmp_ops->ctl_table[2] == ctl) { | 344 | if (&tmp_ops->ctl_table[2] == ctl) { |
@@ -346,15 +346,15 @@ appldata_generic_handler(ctl_table *ctl, int write, struct file *filp, | |||
346 | } | 346 | } |
347 | } | 347 | } |
348 | if (!found) { | 348 | if (!found) { |
349 | spin_unlock(&appldata_ops_lock); | 349 | mutex_unlock(&appldata_ops_mutex); |
350 | return -ENODEV; | 350 | return -ENODEV; |
351 | } | 351 | } |
352 | ops = ctl->data; | 352 | ops = ctl->data; |
353 | if (!try_module_get(ops->owner)) { // protect this function | 353 | if (!try_module_get(ops->owner)) { // protect this function |
354 | spin_unlock(&appldata_ops_lock); | 354 | mutex_unlock(&appldata_ops_mutex); |
355 | return -ENODEV; | 355 | return -ENODEV; |
356 | } | 356 | } |
357 | spin_unlock(&appldata_ops_lock); | 357 | mutex_unlock(&appldata_ops_mutex); |
358 | 358 | ||
359 | if (!*lenp || *ppos) { | 359 | if (!*lenp || *ppos) { |
360 | *lenp = 0; | 360 | *lenp = 0; |
@@ -378,11 +378,11 @@ appldata_generic_handler(ctl_table *ctl, int write, struct file *filp, | |||
378 | return -EFAULT; | 378 | return -EFAULT; |
379 | } | 379 | } |
380 | 380 | ||
381 | spin_lock(&appldata_ops_lock); | 381 | mutex_lock(&appldata_ops_mutex); |
382 | if ((buf[0] == '1') && (ops->active == 0)) { | 382 | if ((buf[0] == '1') && (ops->active == 0)) { |
383 | // protect work queue callback | 383 | // protect work queue callback |
384 | if (!try_module_get(ops->owner)) { | 384 | if (!try_module_get(ops->owner)) { |
385 | spin_unlock(&appldata_ops_lock); | 385 | mutex_unlock(&appldata_ops_mutex); |
386 | module_put(ops->owner); | 386 | module_put(ops->owner); |
387 | return -ENODEV; | 387 | return -ENODEV; |
388 | } | 388 | } |
@@ -407,7 +407,7 @@ appldata_generic_handler(ctl_table *ctl, int write, struct file *filp, | |||
407 | "failed with rc=%d\n", ops->name, rc); | 407 | "failed with rc=%d\n", ops->name, rc); |
408 | module_put(ops->owner); | 408 | module_put(ops->owner); |
409 | } | 409 | } |
410 | spin_unlock(&appldata_ops_lock); | 410 | mutex_unlock(&appldata_ops_mutex); |
411 | out: | 411 | out: |
412 | *lenp = len; | 412 | *lenp = len; |
413 | *ppos += len; | 413 | *ppos += len; |
@@ -433,9 +433,9 @@ int appldata_register_ops(struct appldata_ops *ops) | |||
433 | if (!ops->ctl_table) | 433 | if (!ops->ctl_table) |
434 | return -ENOMEM; | 434 | return -ENOMEM; |
435 | 435 | ||
436 | spin_lock(&appldata_ops_lock); | 436 | mutex_lock(&appldata_ops_mutex); |
437 | list_add(&ops->list, &appldata_ops_list); | 437 | list_add(&ops->list, &appldata_ops_list); |
438 | spin_unlock(&appldata_ops_lock); | 438 | mutex_unlock(&appldata_ops_mutex); |
439 | 439 | ||
440 | ops->ctl_table[0].procname = appldata_proc_name; | 440 | ops->ctl_table[0].procname = appldata_proc_name; |
441 | ops->ctl_table[0].maxlen = 0; | 441 | ops->ctl_table[0].maxlen = 0; |
@@ -452,9 +452,9 @@ int appldata_register_ops(struct appldata_ops *ops) | |||
452 | goto out; | 452 | goto out; |
453 | return 0; | 453 | return 0; |
454 | out: | 454 | out: |
455 | spin_lock(&appldata_ops_lock); | 455 | mutex_lock(&appldata_ops_mutex); |
456 | list_del(&ops->list); | 456 | list_del(&ops->list); |
457 | spin_unlock(&appldata_ops_lock); | 457 | mutex_unlock(&appldata_ops_mutex); |
458 | kfree(ops->ctl_table); | 458 | kfree(ops->ctl_table); |
459 | return -ENOMEM; | 459 | return -ENOMEM; |
460 | } | 460 | } |
@@ -466,9 +466,9 @@ out: | |||
466 | */ | 466 | */ |
467 | void appldata_unregister_ops(struct appldata_ops *ops) | 467 | void appldata_unregister_ops(struct appldata_ops *ops) |
468 | { | 468 | { |
469 | spin_lock(&appldata_ops_lock); | 469 | mutex_lock(&appldata_ops_mutex); |
470 | list_del(&ops->list); | 470 | list_del(&ops->list); |
471 | spin_unlock(&appldata_ops_lock); | 471 | mutex_unlock(&appldata_ops_mutex); |
472 | unregister_sysctl_table(ops->sysctl_header); | 472 | unregister_sysctl_table(ops->sysctl_header); |
473 | kfree(ops->ctl_table); | 473 | kfree(ops->ctl_table); |
474 | } | 474 | } |
diff --git a/arch/s390/appldata/appldata_mem.c b/arch/s390/appldata/appldata_mem.c index 3ed56b7d1b2f..4188cbe63a54 100644 --- a/arch/s390/appldata/appldata_mem.c +++ b/arch/s390/appldata/appldata_mem.c | |||
@@ -78,7 +78,7 @@ static void appldata_get_mem_data(void *data) | |||
78 | { | 78 | { |
79 | /* | 79 | /* |
80 | * don't put large structures on the stack, we are | 80 | * don't put large structures on the stack, we are |
81 | * serialized through the appldata_ops_lock and can use static | 81 | * serialized through the appldata_ops_mutex and can use static |
82 | */ | 82 | */ |
83 | static struct sysinfo val; | 83 | static struct sysinfo val; |
84 | unsigned long ev[NR_VM_EVENT_ITEMS]; | 84 | unsigned long ev[NR_VM_EVENT_ITEMS]; |
diff --git a/arch/s390/defconfig b/arch/s390/defconfig index 31e809c77790..d401d56c255f 100644 --- a/arch/s390/defconfig +++ b/arch/s390/defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.29-rc4 | 3 | # Linux kernel version: 2.6.30-rc3 |
4 | # Wed Feb 11 10:07:16 2009 | 4 | # Thu Apr 23 09:29:52 2009 |
5 | # | 5 | # |
6 | CONFIG_SCHED_MC=y | 6 | CONFIG_SCHED_MC=y |
7 | CONFIG_MMU=y | 7 | CONFIG_MMU=y |
@@ -22,6 +22,7 @@ CONFIG_NO_DMA=y | |||
22 | CONFIG_GENERIC_LOCKBREAK=y | 22 | CONFIG_GENERIC_LOCKBREAK=y |
23 | CONFIG_PGSTE=y | 23 | CONFIG_PGSTE=y |
24 | CONFIG_VIRT_CPU_ACCOUNTING=y | 24 | CONFIG_VIRT_CPU_ACCOUNTING=y |
25 | CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y | ||
25 | CONFIG_S390=y | 26 | CONFIG_S390=y |
26 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | 27 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" |
27 | 28 | ||
@@ -37,6 +38,7 @@ CONFIG_SWAP=y | |||
37 | CONFIG_SYSVIPC=y | 38 | CONFIG_SYSVIPC=y |
38 | CONFIG_SYSVIPC_SYSCTL=y | 39 | CONFIG_SYSVIPC_SYSCTL=y |
39 | CONFIG_POSIX_MQUEUE=y | 40 | CONFIG_POSIX_MQUEUE=y |
41 | CONFIG_POSIX_MQUEUE_SYSCTL=y | ||
40 | # CONFIG_BSD_PROCESS_ACCT is not set | 42 | # CONFIG_BSD_PROCESS_ACCT is not set |
41 | # CONFIG_TASKSTATS is not set | 43 | # CONFIG_TASKSTATS is not set |
42 | CONFIG_AUDIT=y | 44 | CONFIG_AUDIT=y |
@@ -77,21 +79,24 @@ CONFIG_IPC_NS=y | |||
77 | # CONFIG_NET_NS is not set | 79 | # CONFIG_NET_NS is not set |
78 | CONFIG_BLK_DEV_INITRD=y | 80 | CONFIG_BLK_DEV_INITRD=y |
79 | CONFIG_INITRAMFS_SOURCE="" | 81 | CONFIG_INITRAMFS_SOURCE="" |
82 | CONFIG_RD_GZIP=y | ||
83 | CONFIG_RD_BZIP2=y | ||
84 | CONFIG_RD_LZMA=y | ||
80 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 85 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
81 | CONFIG_SYSCTL=y | 86 | CONFIG_SYSCTL=y |
87 | CONFIG_ANON_INODES=y | ||
82 | # CONFIG_EMBEDDED is not set | 88 | # CONFIG_EMBEDDED is not set |
83 | CONFIG_SYSCTL_SYSCALL=y | 89 | CONFIG_SYSCTL_SYSCALL=y |
84 | CONFIG_KALLSYMS=y | 90 | CONFIG_KALLSYMS=y |
85 | # CONFIG_KALLSYMS_ALL is not set | 91 | # CONFIG_KALLSYMS_ALL is not set |
86 | # CONFIG_KALLSYMS_EXTRA_PASS is not set | 92 | # CONFIG_KALLSYMS_EXTRA_PASS is not set |
93 | # CONFIG_STRIP_ASM_SYMS is not set | ||
87 | CONFIG_HOTPLUG=y | 94 | CONFIG_HOTPLUG=y |
88 | CONFIG_PRINTK=y | 95 | CONFIG_PRINTK=y |
89 | CONFIG_BUG=y | 96 | CONFIG_BUG=y |
90 | CONFIG_ELF_CORE=y | 97 | CONFIG_ELF_CORE=y |
91 | # CONFIG_COMPAT_BRK is not set | ||
92 | CONFIG_BASE_FULL=y | 98 | CONFIG_BASE_FULL=y |
93 | CONFIG_FUTEX=y | 99 | CONFIG_FUTEX=y |
94 | CONFIG_ANON_INODES=y | ||
95 | CONFIG_EPOLL=y | 100 | CONFIG_EPOLL=y |
96 | CONFIG_SIGNALFD=y | 101 | CONFIG_SIGNALFD=y |
97 | CONFIG_TIMERFD=y | 102 | CONFIG_TIMERFD=y |
@@ -99,10 +104,12 @@ CONFIG_EVENTFD=y | |||
99 | CONFIG_SHMEM=y | 104 | CONFIG_SHMEM=y |
100 | CONFIG_AIO=y | 105 | CONFIG_AIO=y |
101 | CONFIG_VM_EVENT_COUNTERS=y | 106 | CONFIG_VM_EVENT_COUNTERS=y |
107 | # CONFIG_COMPAT_BRK is not set | ||
102 | CONFIG_SLAB=y | 108 | CONFIG_SLAB=y |
103 | # CONFIG_SLUB is not set | 109 | # CONFIG_SLUB is not set |
104 | # CONFIG_SLOB is not set | 110 | # CONFIG_SLOB is not set |
105 | # CONFIG_PROFILING is not set | 111 | # CONFIG_PROFILING is not set |
112 | # CONFIG_MARKERS is not set | ||
106 | CONFIG_HAVE_OPROFILE=y | 113 | CONFIG_HAVE_OPROFILE=y |
107 | CONFIG_KPROBES=y | 114 | CONFIG_KPROBES=y |
108 | CONFIG_HAVE_SYSCALL_WRAPPERS=y | 115 | CONFIG_HAVE_SYSCALL_WRAPPERS=y |
@@ -111,6 +118,8 @@ CONFIG_HAVE_KPROBES=y | |||
111 | CONFIG_HAVE_KRETPROBES=y | 118 | CONFIG_HAVE_KRETPROBES=y |
112 | CONFIG_HAVE_ARCH_TRACEHOOK=y | 119 | CONFIG_HAVE_ARCH_TRACEHOOK=y |
113 | CONFIG_USE_GENERIC_SMP_HELPERS=y | 120 | CONFIG_USE_GENERIC_SMP_HELPERS=y |
121 | CONFIG_HAVE_DEFAULT_NO_SPIN_MUTEXES=y | ||
122 | # CONFIG_SLOW_WORK is not set | ||
114 | # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set | 123 | # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set |
115 | CONFIG_SLABINFO=y | 124 | CONFIG_SLABINFO=y |
116 | CONFIG_RT_MUTEXES=y | 125 | CONFIG_RT_MUTEXES=y |
@@ -124,7 +133,6 @@ CONFIG_MODVERSIONS=y | |||
124 | CONFIG_INIT_ALL_POSSIBLE=y | 133 | CONFIG_INIT_ALL_POSSIBLE=y |
125 | CONFIG_STOP_MACHINE=y | 134 | CONFIG_STOP_MACHINE=y |
126 | CONFIG_BLOCK=y | 135 | CONFIG_BLOCK=y |
127 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
128 | CONFIG_BLK_DEV_BSG=y | 136 | CONFIG_BLK_DEV_BSG=y |
129 | # CONFIG_BLK_DEV_INTEGRITY is not set | 137 | # CONFIG_BLK_DEV_INTEGRITY is not set |
130 | CONFIG_BLOCK_COMPAT=y | 138 | CONFIG_BLOCK_COMPAT=y |
@@ -211,11 +219,12 @@ CONFIG_ZONE_DMA_FLAG=1 | |||
211 | CONFIG_BOUNCE=y | 219 | CONFIG_BOUNCE=y |
212 | CONFIG_VIRT_TO_BUS=y | 220 | CONFIG_VIRT_TO_BUS=y |
213 | CONFIG_UNEVICTABLE_LRU=y | 221 | CONFIG_UNEVICTABLE_LRU=y |
222 | CONFIG_HAVE_MLOCK=y | ||
223 | CONFIG_HAVE_MLOCKED_PAGE_BIT=y | ||
214 | 224 | ||
215 | # | 225 | # |
216 | # I/O subsystem configuration | 226 | # I/O subsystem configuration |
217 | # | 227 | # |
218 | CONFIG_MACHCHK_WARNING=y | ||
219 | CONFIG_QDIO=y | 228 | CONFIG_QDIO=y |
220 | CONFIG_CHSC_SCH=m | 229 | CONFIG_CHSC_SCH=m |
221 | 230 | ||
@@ -247,12 +256,12 @@ CONFIG_S390_HYPFS_FS=y | |||
247 | CONFIG_KEXEC=y | 256 | CONFIG_KEXEC=y |
248 | # CONFIG_ZFCPDUMP is not set | 257 | # CONFIG_ZFCPDUMP is not set |
249 | CONFIG_S390_GUEST=y | 258 | CONFIG_S390_GUEST=y |
259 | CONFIG_SECCOMP=y | ||
250 | CONFIG_NET=y | 260 | CONFIG_NET=y |
251 | 261 | ||
252 | # | 262 | # |
253 | # Networking options | 263 | # Networking options |
254 | # | 264 | # |
255 | CONFIG_COMPAT_NET_DEV_OPS=y | ||
256 | CONFIG_PACKET=y | 265 | CONFIG_PACKET=y |
257 | # CONFIG_PACKET_MMAP is not set | 266 | # CONFIG_PACKET_MMAP is not set |
258 | CONFIG_UNIX=y | 267 | CONFIG_UNIX=y |
@@ -374,6 +383,7 @@ CONFIG_SCTP_HMAC_MD5=y | |||
374 | # CONFIG_LAPB is not set | 383 | # CONFIG_LAPB is not set |
375 | # CONFIG_ECONET is not set | 384 | # CONFIG_ECONET is not set |
376 | # CONFIG_WAN_ROUTER is not set | 385 | # CONFIG_WAN_ROUTER is not set |
386 | # CONFIG_PHONET is not set | ||
377 | CONFIG_NET_SCHED=y | 387 | CONFIG_NET_SCHED=y |
378 | 388 | ||
379 | # | 389 | # |
@@ -438,7 +448,6 @@ CONFIG_CAN_BCM=m | |||
438 | CONFIG_CAN_VCAN=m | 448 | CONFIG_CAN_VCAN=m |
439 | # CONFIG_CAN_DEBUG_DEVICES is not set | 449 | # CONFIG_CAN_DEBUG_DEVICES is not set |
440 | # CONFIG_AF_RXRPC is not set | 450 | # CONFIG_AF_RXRPC is not set |
441 | # CONFIG_PHONET is not set | ||
442 | # CONFIG_WIMAX is not set | 451 | # CONFIG_WIMAX is not set |
443 | # CONFIG_RFKILL is not set | 452 | # CONFIG_RFKILL is not set |
444 | # CONFIG_NET_9P is not set | 453 | # CONFIG_NET_9P is not set |
@@ -537,6 +546,7 @@ CONFIG_SCSI_FC_ATTRS=y | |||
537 | CONFIG_SCSI_LOWLEVEL=y | 546 | CONFIG_SCSI_LOWLEVEL=y |
538 | # CONFIG_ISCSI_TCP is not set | 547 | # CONFIG_ISCSI_TCP is not set |
539 | # CONFIG_LIBFC is not set | 548 | # CONFIG_LIBFC is not set |
549 | # CONFIG_LIBFCOE is not set | ||
540 | # CONFIG_SCSI_DEBUG is not set | 550 | # CONFIG_SCSI_DEBUG is not set |
541 | CONFIG_ZFCP=y | 551 | CONFIG_ZFCP=y |
542 | CONFIG_SCSI_DH=m | 552 | CONFIG_SCSI_DH=m |
@@ -544,6 +554,10 @@ CONFIG_SCSI_DH_RDAC=m | |||
544 | CONFIG_SCSI_DH_HP_SW=m | 554 | CONFIG_SCSI_DH_HP_SW=m |
545 | CONFIG_SCSI_DH_EMC=m | 555 | CONFIG_SCSI_DH_EMC=m |
546 | CONFIG_SCSI_DH_ALUA=m | 556 | CONFIG_SCSI_DH_ALUA=m |
557 | CONFIG_SCSI_OSD_INITIATOR=m | ||
558 | CONFIG_SCSI_OSD_ULD=m | ||
559 | CONFIG_SCSI_OSD_DPRINT_SENSE=1 | ||
560 | # CONFIG_SCSI_OSD_DEBUG is not set | ||
547 | CONFIG_MD=y | 561 | CONFIG_MD=y |
548 | CONFIG_BLK_DEV_MD=y | 562 | CONFIG_BLK_DEV_MD=y |
549 | CONFIG_MD_AUTODETECT=y | 563 | CONFIG_MD_AUTODETECT=y |
@@ -564,6 +578,7 @@ CONFIG_DM_MULTIPATH=m | |||
564 | # CONFIG_DM_DELAY is not set | 578 | # CONFIG_DM_DELAY is not set |
565 | # CONFIG_DM_UEVENT is not set | 579 | # CONFIG_DM_UEVENT is not set |
566 | CONFIG_NETDEVICES=y | 580 | CONFIG_NETDEVICES=y |
581 | CONFIG_COMPAT_NET_DEV_OPS=y | ||
567 | # CONFIG_IFB is not set | 582 | # CONFIG_IFB is not set |
568 | CONFIG_DUMMY=m | 583 | CONFIG_DUMMY=m |
569 | CONFIG_BONDING=m | 584 | CONFIG_BONDING=m |
@@ -667,6 +682,7 @@ CONFIG_S390_VMUR=m | |||
667 | # CONFIG_MEMSTICK is not set | 682 | # CONFIG_MEMSTICK is not set |
668 | # CONFIG_NEW_LEDS is not set | 683 | # CONFIG_NEW_LEDS is not set |
669 | CONFIG_ACCESSIBILITY=y | 684 | CONFIG_ACCESSIBILITY=y |
685 | # CONFIG_AUXDISPLAY is not set | ||
670 | # CONFIG_STAGING is not set | 686 | # CONFIG_STAGING is not set |
671 | 687 | ||
672 | # | 688 | # |
@@ -676,6 +692,7 @@ CONFIG_EXT2_FS=y | |||
676 | # CONFIG_EXT2_FS_XATTR is not set | 692 | # CONFIG_EXT2_FS_XATTR is not set |
677 | # CONFIG_EXT2_FS_XIP is not set | 693 | # CONFIG_EXT2_FS_XIP is not set |
678 | CONFIG_EXT3_FS=y | 694 | CONFIG_EXT3_FS=y |
695 | # CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set | ||
679 | CONFIG_EXT3_FS_XATTR=y | 696 | CONFIG_EXT3_FS_XATTR=y |
680 | # CONFIG_EXT3_FS_POSIX_ACL is not set | 697 | # CONFIG_EXT3_FS_POSIX_ACL is not set |
681 | # CONFIG_EXT3_FS_SECURITY is not set | 698 | # CONFIG_EXT3_FS_SECURITY is not set |
@@ -701,6 +718,11 @@ CONFIG_INOTIFY_USER=y | |||
701 | CONFIG_GENERIC_ACL=y | 718 | CONFIG_GENERIC_ACL=y |
702 | 719 | ||
703 | # | 720 | # |
721 | # Caches | ||
722 | # | ||
723 | # CONFIG_FSCACHE is not set | ||
724 | |||
725 | # | ||
704 | # CD-ROM/DVD Filesystems | 726 | # CD-ROM/DVD Filesystems |
705 | # | 727 | # |
706 | # CONFIG_ISO9660_FS is not set | 728 | # CONFIG_ISO9660_FS is not set |
@@ -744,6 +766,8 @@ CONFIG_MISC_FILESYSTEMS=y | |||
744 | # CONFIG_ROMFS_FS is not set | 766 | # CONFIG_ROMFS_FS is not set |
745 | # CONFIG_SYSV_FS is not set | 767 | # CONFIG_SYSV_FS is not set |
746 | # CONFIG_UFS_FS is not set | 768 | # CONFIG_UFS_FS is not set |
769 | # CONFIG_EXOFS_FS is not set | ||
770 | # CONFIG_NILFS2_FS is not set | ||
747 | CONFIG_NETWORK_FILESYSTEMS=y | 771 | CONFIG_NETWORK_FILESYSTEMS=y |
748 | CONFIG_NFS_FS=y | 772 | CONFIG_NFS_FS=y |
749 | CONFIG_NFS_V3=y | 773 | CONFIG_NFS_V3=y |
@@ -758,7 +782,6 @@ CONFIG_LOCKD_V4=y | |||
758 | CONFIG_EXPORTFS=y | 782 | CONFIG_EXPORTFS=y |
759 | CONFIG_NFS_COMMON=y | 783 | CONFIG_NFS_COMMON=y |
760 | CONFIG_SUNRPC=y | 784 | CONFIG_SUNRPC=y |
761 | # CONFIG_SUNRPC_REGISTER_V4 is not set | ||
762 | # CONFIG_RPCSEC_GSS_KRB5 is not set | 785 | # CONFIG_RPCSEC_GSS_KRB5 is not set |
763 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | 786 | # CONFIG_RPCSEC_GSS_SPKM3 is not set |
764 | # CONFIG_SMB_FS is not set | 787 | # CONFIG_SMB_FS is not set |
@@ -806,6 +829,7 @@ CONFIG_MAGIC_SYSRQ=y | |||
806 | CONFIG_DEBUG_FS=y | 829 | CONFIG_DEBUG_FS=y |
807 | # CONFIG_HEADERS_CHECK is not set | 830 | # CONFIG_HEADERS_CHECK is not set |
808 | CONFIG_DEBUG_KERNEL=y | 831 | CONFIG_DEBUG_KERNEL=y |
832 | # CONFIG_DETECT_HUNG_TASK is not set | ||
809 | # CONFIG_SCHED_DEBUG is not set | 833 | # CONFIG_SCHED_DEBUG is not set |
810 | # CONFIG_SCHEDSTATS is not set | 834 | # CONFIG_SCHEDSTATS is not set |
811 | # CONFIG_TIMER_STATS is not set | 835 | # CONFIG_TIMER_STATS is not set |
@@ -830,7 +854,6 @@ CONFIG_DEBUG_MEMORY_INIT=y | |||
830 | # CONFIG_DEBUG_LIST is not set | 854 | # CONFIG_DEBUG_LIST is not set |
831 | # CONFIG_DEBUG_SG is not set | 855 | # CONFIG_DEBUG_SG is not set |
832 | # CONFIG_DEBUG_NOTIFIERS is not set | 856 | # CONFIG_DEBUG_NOTIFIERS is not set |
833 | # CONFIG_FRAME_POINTER is not set | ||
834 | # CONFIG_RCU_TORTURE_TEST is not set | 857 | # CONFIG_RCU_TORTURE_TEST is not set |
835 | # CONFIG_RCU_CPU_STALL_DETECTOR is not set | 858 | # CONFIG_RCU_CPU_STALL_DETECTOR is not set |
836 | # CONFIG_KPROBES_SANITY_TEST is not set | 859 | # CONFIG_KPROBES_SANITY_TEST is not set |
@@ -840,7 +863,9 @@ CONFIG_DEBUG_MEMORY_INIT=y | |||
840 | # CONFIG_FAULT_INJECTION is not set | 863 | # CONFIG_FAULT_INJECTION is not set |
841 | # CONFIG_LATENCYTOP is not set | 864 | # CONFIG_LATENCYTOP is not set |
842 | CONFIG_SYSCTL_SYSCALL_CHECK=y | 865 | CONFIG_SYSCTL_SYSCALL_CHECK=y |
866 | # CONFIG_DEBUG_PAGEALLOC is not set | ||
843 | CONFIG_HAVE_FUNCTION_TRACER=y | 867 | CONFIG_HAVE_FUNCTION_TRACER=y |
868 | CONFIG_TRACING_SUPPORT=y | ||
844 | 869 | ||
845 | # | 870 | # |
846 | # Tracers | 871 | # Tracers |
@@ -850,14 +875,17 @@ CONFIG_HAVE_FUNCTION_TRACER=y | |||
850 | # CONFIG_PREEMPT_TRACER is not set | 875 | # CONFIG_PREEMPT_TRACER is not set |
851 | # CONFIG_SCHED_TRACER is not set | 876 | # CONFIG_SCHED_TRACER is not set |
852 | # CONFIG_CONTEXT_SWITCH_TRACER is not set | 877 | # CONFIG_CONTEXT_SWITCH_TRACER is not set |
878 | # CONFIG_EVENT_TRACER is not set | ||
853 | # CONFIG_BOOT_TRACER is not set | 879 | # CONFIG_BOOT_TRACER is not set |
854 | # CONFIG_TRACE_BRANCH_PROFILING is not set | 880 | # CONFIG_TRACE_BRANCH_PROFILING is not set |
855 | # CONFIG_STACK_TRACER is not set | 881 | # CONFIG_STACK_TRACER is not set |
856 | # CONFIG_DYNAMIC_PRINTK_DEBUG is not set | 882 | # CONFIG_KMEMTRACE is not set |
883 | # CONFIG_WORKQUEUE_TRACER is not set | ||
884 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
885 | # CONFIG_DYNAMIC_DEBUG is not set | ||
857 | CONFIG_SAMPLES=y | 886 | CONFIG_SAMPLES=y |
858 | # CONFIG_SAMPLE_KOBJECT is not set | 887 | # CONFIG_SAMPLE_KOBJECT is not set |
859 | # CONFIG_SAMPLE_KPROBES is not set | 888 | # CONFIG_SAMPLE_KPROBES is not set |
860 | # CONFIG_DEBUG_PAGEALLOC is not set | ||
861 | 889 | ||
862 | # | 890 | # |
863 | # Security options | 891 | # Security options |
@@ -882,10 +910,12 @@ CONFIG_CRYPTO_HASH=m | |||
882 | CONFIG_CRYPTO_HASH2=y | 910 | CONFIG_CRYPTO_HASH2=y |
883 | CONFIG_CRYPTO_RNG=m | 911 | CONFIG_CRYPTO_RNG=m |
884 | CONFIG_CRYPTO_RNG2=y | 912 | CONFIG_CRYPTO_RNG2=y |
913 | CONFIG_CRYPTO_PCOMP=y | ||
885 | CONFIG_CRYPTO_MANAGER=y | 914 | CONFIG_CRYPTO_MANAGER=y |
886 | CONFIG_CRYPTO_MANAGER2=y | 915 | CONFIG_CRYPTO_MANAGER2=y |
887 | CONFIG_CRYPTO_GF128MUL=m | 916 | CONFIG_CRYPTO_GF128MUL=m |
888 | # CONFIG_CRYPTO_NULL is not set | 917 | # CONFIG_CRYPTO_NULL is not set |
918 | CONFIG_CRYPTO_WORKQUEUE=y | ||
889 | # CONFIG_CRYPTO_CRYPTD is not set | 919 | # CONFIG_CRYPTO_CRYPTD is not set |
890 | CONFIG_CRYPTO_AUTHENC=m | 920 | CONFIG_CRYPTO_AUTHENC=m |
891 | # CONFIG_CRYPTO_TEST is not set | 921 | # CONFIG_CRYPTO_TEST is not set |
@@ -954,6 +984,7 @@ CONFIG_CRYPTO_SEED=m | |||
954 | # Compression | 984 | # Compression |
955 | # | 985 | # |
956 | # CONFIG_CRYPTO_DEFLATE is not set | 986 | # CONFIG_CRYPTO_DEFLATE is not set |
987 | CONFIG_CRYPTO_ZLIB=m | ||
957 | CONFIG_CRYPTO_LZO=m | 988 | CONFIG_CRYPTO_LZO=m |
958 | 989 | ||
959 | # | 990 | # |
@@ -969,6 +1000,7 @@ CONFIG_CRYPTO_SHA512_S390=m | |||
969 | # CONFIG_CRYPTO_DES_S390 is not set | 1000 | # CONFIG_CRYPTO_DES_S390 is not set |
970 | # CONFIG_CRYPTO_AES_S390 is not set | 1001 | # CONFIG_CRYPTO_AES_S390 is not set |
971 | CONFIG_S390_PRNG=m | 1002 | CONFIG_S390_PRNG=m |
1003 | # CONFIG_BINARY_PRINTF is not set | ||
972 | 1004 | ||
973 | # | 1005 | # |
974 | # Library routines | 1006 | # Library routines |
@@ -982,9 +1014,14 @@ CONFIG_CRC_T10DIF=y | |||
982 | CONFIG_CRC32=m | 1014 | CONFIG_CRC32=m |
983 | CONFIG_CRC7=m | 1015 | CONFIG_CRC7=m |
984 | CONFIG_LIBCRC32C=m | 1016 | CONFIG_LIBCRC32C=m |
1017 | CONFIG_ZLIB_INFLATE=y | ||
1018 | CONFIG_ZLIB_DEFLATE=m | ||
985 | CONFIG_LZO_COMPRESS=m | 1019 | CONFIG_LZO_COMPRESS=m |
986 | CONFIG_LZO_DECOMPRESS=m | 1020 | CONFIG_LZO_DECOMPRESS=m |
987 | CONFIG_PLIST=y | 1021 | CONFIG_DECOMPRESS_GZIP=y |
1022 | CONFIG_DECOMPRESS_BZIP2=y | ||
1023 | CONFIG_DECOMPRESS_LZMA=y | ||
1024 | CONFIG_NLATTR=y | ||
988 | CONFIG_HAVE_KVM=y | 1025 | CONFIG_HAVE_KVM=y |
989 | CONFIG_VIRTUALIZATION=y | 1026 | CONFIG_VIRTUALIZATION=y |
990 | CONFIG_KVM=m | 1027 | CONFIG_KVM=m |
diff --git a/arch/s390/include/asm/cputime.h b/arch/s390/include/asm/cputime.h index 95b0f7db3c69..941384fbd39c 100644 --- a/arch/s390/include/asm/cputime.h +++ b/arch/s390/include/asm/cputime.h | |||
@@ -174,4 +174,8 @@ cputime64_to_clock_t(cputime64_t cputime) | |||
174 | return __div(cputime, 4096000000ULL / USER_HZ); | 174 | return __div(cputime, 4096000000ULL / USER_HZ); |
175 | } | 175 | } |
176 | 176 | ||
177 | cputime64_t s390_get_idle_time(int cpu); | ||
178 | |||
179 | #define arch_idle_time(cpu) s390_get_idle_time(cpu) | ||
180 | |||
177 | #endif /* _S390_CPUTIME_H */ | 181 | #endif /* _S390_CPUTIME_H */ |
diff --git a/arch/s390/kernel/ipl.c b/arch/s390/kernel/ipl.c index 6f3711a0eaaa..b8bf4b140065 100644 --- a/arch/s390/kernel/ipl.c +++ b/arch/s390/kernel/ipl.c | |||
@@ -23,6 +23,7 @@ | |||
23 | #include <asm/ebcdic.h> | 23 | #include <asm/ebcdic.h> |
24 | #include <asm/reset.h> | 24 | #include <asm/reset.h> |
25 | #include <asm/sclp.h> | 25 | #include <asm/sclp.h> |
26 | #include <asm/sigp.h> | ||
26 | #include <asm/checksum.h> | 27 | #include <asm/checksum.h> |
27 | 28 | ||
28 | #define IPL_PARM_BLOCK_VERSION 0 | 29 | #define IPL_PARM_BLOCK_VERSION 0 |
diff --git a/arch/s390/kernel/vtime.c b/arch/s390/kernel/vtime.c index 38ea92ff04f9..c87f59bd8246 100644 --- a/arch/s390/kernel/vtime.c +++ b/arch/s390/kernel/vtime.c | |||
@@ -240,6 +240,22 @@ void vtime_stop_cpu(void) | |||
240 | } | 240 | } |
241 | } | 241 | } |
242 | 242 | ||
243 | cputime64_t s390_get_idle_time(int cpu) | ||
244 | { | ||
245 | struct s390_idle_data *idle; | ||
246 | unsigned long long now, idle_time, idle_enter; | ||
247 | |||
248 | idle = &per_cpu(s390_idle, cpu); | ||
249 | spin_lock(&idle->lock); | ||
250 | now = get_clock(); | ||
251 | idle_time = 0; | ||
252 | idle_enter = idle->idle_enter; | ||
253 | if (idle_enter != 0ULL && idle_enter < now) | ||
254 | idle_time = now - idle_enter; | ||
255 | spin_unlock(&idle->lock); | ||
256 | return idle_time; | ||
257 | } | ||
258 | |||
243 | /* | 259 | /* |
244 | * Sorted add to a list. List is linear searched until first bigger | 260 | * Sorted add to a list. List is linear searched until first bigger |
245 | * element is found. | 261 | * element is found. |