1. 07 Jul, 2009 11 commits
    • Heiko Carstens's avatar
      [S390] add generic atomic64 support for 31 bit · 25ca1251
      Heiko Carstens authored
      Performance counters need 64 bit atomic operations.
      To keep the patch small we use the simple generic atomic64_t implementation.
      The native implementation follows with the next kernel.
      
      Fixes this build bug:
      
      In file included from kernel/sched.c:42:
      include/linux/perf_counter.h:427: error: expected specifier-qualifier-list before 'atomic64_t'
      Signed-off-by: default avatarHeiko Carstens <heiko.carstens@de.ibm.com>
      Signed-off-by: default avatarMartin Schwidefsky <schwidefsky@de.ibm.com>
      25ca1251
    • Christian Borntraeger's avatar
      [S390] improve suspend/resume error messages · 2c48c4d6
      Christian Borntraeger authored
      From: Michael Holzheu <holzheu@linux.vnet.ibm.com>
      Signed-off-by: default avatarMichael Holzheu <holzheu@linux.vnet.ibm.com>
      Signed-off-by: default avatarChristian Borntraeger <borntraeger@de.ibm.com>
      Signed-off-by: default avatarMartin Schwidefsky <schwidefsky@de.ibm.com>
      2c48c4d6
    • Martin Schwidefsky's avatar
      [S390] set SCHED_OMIT_FRAME_POINTER for s390 · fca3e357
      Martin Schwidefsky authored
      The frame pointer is useless for s390 in the sched.c code.
      Signed-off-by: default avatarMartin Schwidefsky <schwidefsky@de.ibm.com>
      fca3e357
    • Heiko Carstens's avatar
      [S390] add __ucmpdi2() helper function · 5075baca
      Heiko Carstens authored
      Provide __ucmpdi2() helper function on 31 bit so we don't run
      again and again in compile errors like this one:
      
      kernel/built-in.o: In function `T.689':
      perf_counter.c:(.text+0x56c86): undefined reference to `__ucmpdi2'
      Signed-off-by: default avatarHeiko Carstens <heiko.carstens@de.ibm.com>
      Signed-off-by: default avatarMartin Schwidefsky <schwidefsky@de.ibm.com>
      5075baca
    • Heiko Carstens's avatar
      [S390] perf_counter build fix · 2651fa2b
      Heiko Carstens authored
      Add PERF_COUNTER_INDEX_OFFSET define to fix this build bug:
      
      kernel/perf_counter.c: In function 'perf_counter_index':
      kernel/perf_counter.c:1889: error: 'PERF_COUNTER_INDEX_OFFSET' undeclared
      
      Same fix as for FRV since s390 doesn't support hw counters.
      Signed-off-by: default avatarHeiko Carstens <heiko.carstens@de.ibm.com>
      Signed-off-by: default avatarMartin Schwidefsky <schwidefsky@de.ibm.com>
      2651fa2b
    • Frank Munzert's avatar
      [S390] shutdown actions: save/return rc from init function · 81088819
      Frank Munzert authored
      We always returned -EINVAL when setting of a shutdown action failed. This was
      misleading, if for example the hardware did not support the shutdown action.
      Now we save each shutdown action's init return code and return it when the
      action is being set.
      Signed-off-by: default avatarFrank Munzert <munzert@de.ibm.com>
      Signed-off-by: default avatarMartin Schwidefsky <schwidefsky@de.ibm.com>
      81088819
    • Stefan Haberland's avatar
      [S390] dasd: correct debugfeature sense dump · aeec92ca
      Stefan Haberland authored
      remove loop, add some debug data and use get_sense function
      Signed-off-by: default avatarStefan Haberland <stefan.haberland@de.ibm.com>
      Signed-off-by: default avatarMartin Schwidefsky <schwidefsky@de.ibm.com>
      aeec92ca
    • Heiko Carstens's avatar
      [S390] udelay: disable lockdep to avoid false positives · bb8c29ca
      Heiko Carstens authored
      Our udelay implementation enables interrupts to receive a special timer
      interrupt regardless of the context it is called from.
      This might lead to false positive lockdep reports. Since lockdep isn't
      aware of the fact that only a single interrupt source is enabled it
      warns about possible deadlocks that in reality won't happen, like
      the one below.
      To fix this disable lockdep before enabling interrupts.
      
      [ 254.040888] =================================
      [ 254.040904] [ INFO: inconsistent lock state ]
      [ 254.040910] 2.6.30 #9
      [ 254.040914] ---------------------------------
      [ 254.040920] inconsistent {IN-HARDIRQ-W} -> {HARDIRQ-ON-W} usage.
      [ 254.040927] swapper/0 [HC0[0]:SC1[1]:HE1:SE0] takes:
      [ 254.040934] (sch->lock){?.-...}, at: [<00000000002e4778>] ccw_device_timeout+0x48/0x2f0
      [ 254.040961] {IN-HARDIRQ-W} state was registered at:
      [ 254.040969] [<0000000000096f74>] __lock_acquire+0x9d4/0x188c
      [ 254.040985] [<0000000000097f68>] lock_acquire+0x13c/0x16c
      [ 254.040998] [<00000000004527e0>] _spin_lock+0x74/0xb8
      [ 254.041016] [<0000000000457eb2>] do_IRQ+0xde/0x208
      [ 254.041031] [<000000000002d190>] io_return+0x0/0x8
      [ 254.041049] [<0000000000029faa>] vtime_stop_cpu+0xbe/0x114
      [ 254.041066] irq event stamp: 259629
      [ 254.041076] hardirqs last enabled at (259628): [<000000000045238e>] _spin_unlock_irq+0x5e/0x9c
      [ 254.041095] hardirqs last disabled at (259629): [<000000000045292e>] _spin_lock_irq+0x4a/0xc4
      [ 254.041126] softirqs last enabled at (259614): [<000000000006500e>] __do_softirq+0x296/0x2b0
      [ 254.041137] softirqs last disabled at (259619): [<0000000000024cf6>] do_softirq+0x102/0x108
      [ 254.041147]
      [ 254.041148] other info that might help us debug this:
      [ 254.041153] 2 locks held by swapper/0:
      [ 254.041157] #0: (&priv->timer){+.-...}, at: [<000000000006bf9a>] run_timer_softirq+0x19a/0x340
      [ 254.041170] #1: (sch->lock){?.-...}, at: [<00000000002e4778>] ccw_device_timeout+0x48/0x2f0
      [ 254.041182]
      [ 254.041310] Call Trace:
      [ 254.041313] ([<00000000000174fc>] show_trace+0x16c/0x170)
      [ 254.041321] [<0000000000017578>] show_stack+0x78/0x104
      [ 254.041327] [<000000000044d0ca>] dump_stack+0xc6/0xd4
      [ 254.041342] [<00000000000949b4>] print_usage_bug+0x1c8/0x1fc
      [ 254.041353] [<0000000000094e8a>] mark_lock+0x4a2/0x670
      [ 254.041364] [<00000000000950e2>] mark_held_locks+0x8a/0xb4
      [ 254.041375] [<0000000000095398>] trace_hardirqs_on_caller+0x74/0x1ac
      [ 254.041388] [<00000000000954fa>] trace_hardirqs_on+0x2a/0x38
      [ 254.041402] [<000000000025f1ec>] __udelay_disabled+0xac/0xfc
      [ 254.041419] [<000000000025f432>] __udelay+0x12a/0x148
      [ 254.041433] [<00000000002d64d8>] cio_commit_config+0x170/0x290
      [ 254.041451] [<00000000002d6978>] cio_disable_subchannel+0x120/0x1cc
      [ 254.041468] [<00000000002e32a4>] ccw_device_recog_done+0x54/0x2f4
      [ 254.041485] [<00000000002e3638>] ccw_device_sense_id_done+0x50/0x90
      [ 254.041508] [<00000000002e615a>] snsid_callback+0xfa/0x3a8
      [ 254.041515] [<00000000002dd96c>] ccwreq_stop+0x80/0x90
      [ 254.041523] [<00000000002dda8e>] ccw_request_timeout+0xc2/0xd0
      [ 254.041530] [<00000000002e2f70>] ccw_device_request_event+0x58/0x90
      [ 254.041537] [<00000000002e47ae>] ccw_device_timeout+0x7e/0x2f0
      [ 254.041555] [<000000000006c02a>] run_timer_softirq+0x22a/0x340
      [ 254.041566] [<0000000000064eb0>] __do_softirq+0x138/0x2b0
      [ 254.041578] [<0000000000024cf6>] do_softirq+0x102/0x108
      [ 254.041590] [<00000000000647ce>] irq_exit+0xee/0x114
      [ 254.041603] [<0000000000457d88>] do_extint+0x130/0x17c
      [ 254.041617] [<000000000002d41e>] ext_no_vtime+0x1e/0x22
      [ 254.041631] [<0000000000029faa>] vtime_stop_cpu+0xbe/0x114
      [ 254.041646] ([<0000000000029f58>] vtime_stop_cpu+0x6c/0x114)
      [ 254.041662] [<000000000001d842>] cpu_idle+0x122/0x1c0
      [ 254.041679] [<00000000004482c6>] start_secondary+0xce/0xe0
      [ 254.041696] [<0000000000000000>] 0x0
      [ 254.041715] [<0000000000000000>] 0x0
      [ 254.041745] INFO: lockdep is turned off.
      Signed-off-by: default avatarHeiko Carstens <heiko.carstens@de.ibm.com>
      Signed-off-by: default avatarMartin Schwidefsky <schwidefsky@de.ibm.com>
      bb8c29ca
    • Heiko Carstens's avatar
      [S390] monreader: fix dev_set_drvdata conversion · 99357742
      Heiko Carstens authored
      Fix this:
      
      drivers/s390/char/monreader.c: In function 'mon_open':
      drivers/s390/char/monreader.c:323: warning: passing argument 1 of 'dev_set_drvdata' from incompatible pointer type
      include/linux/device.h:457: note: expected 'struct device *' but argument is of type 'struct device **'
      drivers/s390/char/monreader.c: In function 'monreader_freeze':
      drivers/s390/char/monreader.c:466: warning: passing argument 1 of 'dev_get_drvdata' from incompatible pointer type
      include/linux/device.h:452: note: expected 'const struct device *' but argument is of type 'struct device **'
      Signed-off-by: default avatarHeiko Carstens <heiko.carstens@de.ibm.com>
      Signed-off-by: default avatarMartin Schwidefsky <schwidefsky@de.ibm.com>
      99357742
    • Heiko Carstens's avatar
      [S390] sclp: fix compile error for !SCLP_CONSOLE · c9568fdd
      Heiko Carstens authored
      Define an empty static inline version of sclp_console_pm_event()
      to fix the build error below for !SCLP_CONSOLE.
      
      drivers/s390/built-in.o: In function `sclp_rw_pm_event':
      sclp_rw.c:(.text+0x12f68): undefined reference to `sclp_console_pm_event'
      Signed-off-by: default avatarHeiko Carstens <heiko.carstens@de.ibm.com>
      Signed-off-by: default avatarMartin Schwidefsky <schwidefsky@de.ibm.com>
      c9568fdd
    • Linus Torvalds's avatar
      Merge branch 'x86-fixes-for-linus' of... · faf80d62
      Linus Torvalds authored
      Merge branch 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
      
      * 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
        x86: fix usage of bios intcall()
        x86: Remove unused function lapic_watchdog_ok()
        x86: Remove unused variable disable_x2apic
        x86, kvm: Fix section mismatches in kvm.c
        x86: Add missing annotation to arch/x86/lib/copy_user_64.S::copy_to_user
        x86: Fix fixmap page order for FIX_TEXT_POKE0,1
        amd-iommu: set evt_buf_size correctly
        amd-iommu: handle alias entries correctly in init code
        x86: Fix printk call in print_local_apic()
        x86: Declare check_efer() before it gets used
        x86: Mark device_nb as static and fix NULL noise
        x86: Remove double declaration of MSR_P6_EVNTSEL0 and MSR_P6_EVNTSEL1
        xen: Use kcalloc() in xen_init_IRQ()
        x86: Fix fixmap ordering
        x86: Fix symbol annotation for arch/x86/lib/clear_page_64.S::clear_page_c
      faf80d62
  2. 06 Jul, 2009 29 commits