1. 01 3月, 2006 34 次提交
  2. 28 2月, 2006 6 次提交
    • L
    • J
      [PATCH] cfq-iosched: slice expiry fixups · 7b14e3b5
      Jens Axboe 提交于
      During testing of SLES10, we encountered a hang in the CFQ io scheduler.
      Turns out the deferred slice expiry logic is buggy, so remove that for
      now.  We could be left with an idle queue that would never wake up.  So
      kill that logic, always expire immediately.  Also fix a potential timer
      race condition.
      
      Patch looks bigger than it is, because it moves a function.
      Signed-off-by: NJens Axboe <axboe@suse.de>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      7b14e3b5
    • M
      [PATCH] powerpc/iseries: Fix double phys_to_abs bug in htab_bolt_mapping · 56ec6462
      Michael Ellerman 提交于
      Before the merge I updated create_pte_mapping() to work for iSeries, by
      calling iSeries_hpte_bolt_or_insert. (4c55130b)
      
      Later we changed iSeries_hpte_insert to cope with the bolting case, and called
      that instead from create_pte_mapping() (which was renamed to htab_bolt_mapping)
      (3c726f8d).
      
      Unfortunately that change introduced a subtle bug, where we pass an absolute
      address to iSeries_hpte_insert() where it expects a physical address. This
      leads to us calling phys_to_abs() twice on the physical address, which is
      seriously bogus.
      
      This only causes a problem if the absolute address from the first translation
      can be looked up again in the chunk_map, which depends on the size and layout
      of memory. I've seen it fail on one box, but not others.
      
      The minimal fix is to pass the physical address to iSeries_hpte_insert(). For
      2.6.17 we should make phys_to_abs() BUG if we try to double-translate an
      address.
      Signed-off-by: NMichael Ellerman <michael@ellerman.id.au>
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      56ec6462
    • O
      [PATCH] powerpc: fix NULL pointer in handle_eeh_events · 273d2803
      Olaf Hering 提交于
      This patch fixes a crash in handle_eeh_events,
      but ethtool -t still doesnt work right.
      
      ...
      pepino:~ # cpu 0x3: Vector: 300 (Data Access) at [c00000005192bbe0]
          pc: c00000000004a380: .handle_eeh_events+0xe0/0x23c
          lr: c00000000004a374: .handle_eeh_events+0xd4/0x23c
          sp: c00000005192be60
         msr: 9000000000009032
         dar: 268
       dsisr: 40000000
        current = 0xc0000001fe7bf1a0
        paca    = 0xc00000000048b280
          pid   = 16322, comm = eehd
      enter ? for help
      [c00000005192bf00] c00000000004a808 .eeh_event_handler+0xcc/0x130
      [c00000005192bf90] c000000000025e00 .kernel_thread+0x4c/0x68
      
      ...
      
      (none):/# /usr/sbin/ethtool -i eth0
      driver: e100
      version: 3.5.10-k2-NAPI
      firmware-version: N/A
      bus-info: 0000:21:01.0
      (none):/# /usr/sbin/ethtool -t eth0
      Call Trace:
      [C00000000F8DEFF0] [C00000000000F270] .show_stack+0x74/0x1b4 (unreliable)
      [C00000000F8DF0A0] [C000000000049D04] .eeh_dn_check_failure+0x290/0x2d8
      [C00000000F8DF150] [C000000000049E58] .eeh_check_failure+0x10c/0x138
      [C00000000F8DF1E0] [C0000000002DFDB0] .e100_hw_reset+0x70/0xf4
      [C00000000F8DF270] [C0000000002E1BBC] .e100_hw_init+0x2c/0x260
      [C00000000F8DF310] [C0000000002E2464] .e100_loopback_test+0x8c/0x220
      [C00000000F8DF3C0] [C0000000002E28DC] .e100_diag_test+0xdc/0x16c
      [C00000000F8DF490] [C000000000420BE0] .dev_ethtool+0xf24/0x14f8
      [C00000000F8DF8F0] [C00000000041F4A8] .dev_ioctl+0x5cc/0x740
      [C00000000F8DFA20] [C00000000040FEFC] .sock_ioctl+0x3d0/0x404
      [C00000000F8DFAC0] [C0000000000D513C] .do_ioctl+0x68/0x108
      [C00000000F8DFB50] [C0000000000D56B0] .vfs_ioctl+0x4d4/0x510
      [C00000000F8DFC10] [C0000000000D5740] .sys_ioctl+0x54/0x94
      [C00000000F8DFCC0] [C0000000000FB6EC] .ethtool_ioctl+0x11c/0x150
      [C00000000F8DFD60] [C0000000000F7E40] .compat_sys_ioctl+0x338/0x3bc
      [C00000000F8DFE30] [C00000000000871C] syscall_exit+0x0/0x40
      EEH: Detected PCI bus error on device 0000:21:01.0
      EEH: This PCI device has failed 1 times since last reboot: <NULL> -
      
      modprobe: FATAL: Could not load /lib/modules/2.6.16-rc4-git7/modules.dep: No such file or directory
      
      Cannot get strings: No such device
      (none):/#
      (none):/# EEH: Unable to configure device bridge (-3) for /pci@400000000110/pci@2,2
      
      (none):/# Call Trace:
      [C00000000FA17940] [C00000000000F270] .show_stack+0x74/0x1b4 (unreliable)
      [C00000000FA179F0] [C000000000049D04] .eeh_dn_check_failure+0x290/0x2d8
      [C00000000FA17AA0] [C00000000001E114] .rtas_read_config+0x120/0x154
      [C00000000FA17B40] [C000000000049664] .early_enable_eeh+0x274/0x2bc
      [C00000000FA17C00] [C000000000049708] .eeh_add_device_early+0x5c/0x6c
      [C00000000FA17C90] [C000000000049748] .eeh_add_device_tree_early+0x30/0x5c
      [C00000000FA17D20] [C000000000046568] .pcibios_add_pci_devices+0x8c/0x1f8
      [C00000000FA17DD0] [C00000000004A528] .eeh_reset_device+0xe0/0x110
      [C00000000FA17E60] [C00000000004A698] .handle_eeh_events+0x140/0x250
      [C00000000FA17F00] [C00000000004AC7C] .eeh_event_handler+0xe8/0x140
      [C00000000FA17F90] [C000000000025784] .kernel_thread+0x4c/0x68
      EEH: Detected PCI bus error on device <NULL>
      EEH: This PCI device has failed 1 times since last reboot: <NULL> -
      EEH: Unable to configure device bridge (-3) for /pci@400000000110/pci@2,2
      Call Trace:
      [C00000000FA17940] [C00000000000F270] .show_stack+0x74/0x1b4 (unreliable)
      [C00000000FA179F0] [C000000000049D04] .eeh_dn_check_failure+0x290/0x2d8
      [C00000000FA17AA0] [C00000000001E114] .rtas_read_config+0x120/0x154
      [C00000000FA17B40] [C000000000049664] .early_enable_eeh+0x274/0x2bc
      [C00000000FA17C00] [C000000000049708] .eeh_add_device_early+0x5c/0x6c
      [C00000000FA17C90] [C000000000049748] .eeh_add_device_tree_early+0x30/0x5c
      [C00000000FA17D20] [C000000000046568] .pcibios_add_pci_devices+0x8c/0x1f8
      [C00000000FA17DD0] [C00000000004A528] .eeh_reset_device+0xe0/0x110
      [C00000000FA17E60] [C00000000004A698] .handle_eeh_events+0x140/0x250
      [C00000000FA17F00] [C00000000004AC7C] .eeh_event_handler+0xe8/0x140
      [C00000000FA17F90] [C000000000025784] .kernel_thread+0x4c/0x68
      EEH: Detected PCI bus error on device <NULL>
      EEH: This PCI device has failed 1 times since last reboot: <NULL> -
      EEH: Unable to configure device bridge (-3) for /pci@400000000110/pci@2,2
      Call Trace:
      [C00000000FA17940] [C00000000000F270] .show_stack+0x74/0x1b4 (unreliable)
      [C00000000FA179F0] [C000000000049D04] .eeh_dn_check_failure+0x290/0x2d8
      [C00000000FA17AA0] [C00000000001E114] .rtas_read_config+0x120/0x154
      [C00000000FA17B40] [C000000000049664] .early_enable_eeh+0x274/0x2bc
      [C00000000FA17C00] [C000000000049708] .eeh_add_device_early+0x5c/0x6c
      [C00000000FA17C90] [C000000000049748] .eeh_add_device_tree_early+0x30/0x5c
      [C00000000FA17D20] [C000000000046568] .pcibios_add_pci_devices+0x8c/0x1f8
      [C00000000FA17DD0] [C00000000004A528] .eeh_reset_device+0xe0/0x110
      [C00000000FA17E60] [C00000000004A698] .handle_eeh_events+0x140/0x250
      [C00000000FA17F00] [C00000000004AC7C] .eeh_event_handler+0xe8/0x140
      [C00000000FA17F90] [C000000000025784] .kernel_thread+0x4c/0x68
      EEH: Detected PCI bus error on device <NULL>
      and so on
      Signed-off-by: NOlaf Hering <olh@suse.de>
      Acked-by: NLinas Vepstas <linas@austin.ibm.com>
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      273d2803
    • B
      [PATCH] powerpc: vdso 64bits gettimeofday bug · 634473db
      Benjamin Herrenschmidt 提交于
      A bug in the assembly code of the vdso can cause gettimeofday() to hang
      or to return incorrect results. The wrong register was used to test for
      pending updates of the calibration variables and to create a dependency
      for subsequent loads. This fixes it.
      Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      634473db
    • J
      [PATCH] powerpc: fix dynamic PCI probe regression · 827c1a6c
      John Rose 提交于
      Some hotplug driver functions were migrated to the kernel for use by EEH
      in commit 2bf6a8fa.
      
      Previously, the PCI Hotplug module had been changed to use the new
      OFDT-based PCI probe when appropriate:
      5fa80fcd
      
      When rpaphp_pci_config_slot() was moved from the rpaphp driver to the
      new kernel function pcibios_add_pci_devices(), the OFDT-based probe
      stuff was dropped.  This patch restores it.
      Signed-off-by: NJohn Rose <johnrose@austin.ibm.com>
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      827c1a6c