1. 29 10月, 2005 1 次提交
    • D
      [PATCH] driver model wakeup flags · 0ac85241
      David Brownell 提交于
      This is a refresh of an earlier patch to add "wakeup" support to the
      PM core model.  This provides per-device bus-neutral control of the
      use of wakeup events.
      
        * "struct device_pm_info" has two bits that are initialized as
          part of setting up the enclosing struct device:
            - "can_wakeup", reflecting hardware capabilities
            - "may_wakeup", the policy setting (when CONFIG_PM)
      
        * There's a writeable sysfs "wakeup" file, with one of two values:
            - "enabled", when the policy is to allow wakeup
            - "disabled", when the policy is not to allow it
            - "" if the device can't currently issue wakeups
      
      By default, wakeup is enabled on all devices that support it.  If its
      driver doesn't support it ... treat it as a bug.  :)
      Signed-off-by: NDavid Brownell <dbrownell@users.sourceforge.net>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      0ac85241
  2. 09 10月, 2005 1 次提交
  3. 22 9月, 2005 2 次提交
    • B
      [PATCH] fix class symlinks in sysfs · 3e51377d
      Bill Nottingham 提交于
      The class symlinks in sysfs don't properly handle changing device names.
      
      To demonstrate, rename your network device from eth0 to eth1. Your
      pci (or usb, or whatever) device will still have a 'net:eth0' link,
      except now it points to /sys/class/net/eth1.
      
      The attached patch makes sure the class symlink name changes when
      the class device name changes. It isn't 100% correct, it should be
      using sysfs_rename_link. Unfortunately, sysfs_rename_link doesn't exist.
      Signed-off-by: NBill Nottingham <notting@redhat.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      3e51377d
    • D
      [PATCH] Driver Core: fis bus rescan devices race · 4c898c7f
      Daniel Ritz 提交于
      bus_rescan_devices_helper() does not hold the dev->sem when it checks for
      !dev->driver().  device_attach() holds the sem, but calls again
      device_bind_driver() even when dev->driver is set.
      
      What happens is that a first device_attach() call (module insertion time)
      is on the way binding the device to a driver.  Another thread calls
      bus_rescan_devices().  Now when bus_rescan_devices_helper() checks for
      dev->driver it is still NULL 'cos the the prior device_attach() is not yet
      finished.  But as soon as the first one releases the dev->sem the second
      device_attach() tries to rebind the already bound device again.
      device_bind_driver() does this blindly which leads to a corrupt
      driver->klist_devices list (the device links itself, the head points to the
      device).  Later a call to device_release_driver() sets dev->driver to NULL
      and breaks the link it has to itself on knode_driver.  Rmmoding the driver
      later calls driver_detach() which leads to an endless loop 'cos the list
      head in klist_devices still points to the device.  And since dev->driver is
      NULL it's stuck with the same device forever.  Boom.  And rmmod hangs.
      
      Very easy to reproduce with new-style pcmcia and a 16bit card.  Just loop
      modprobe <pcmcia-modules> ;cardctl eject; rmmod <card driver, pcmcia
      modules>.
      
      Easiest fix is to check if the device is already bound to a driver in
      device_bind_driver().  This avoids the double binding.
      Signed-off-by: NDaniel Ritz <daniel.ritz@gmx.ch>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      4c898c7f
  4. 13 9月, 2005 1 次提交
  5. 11 9月, 2005 1 次提交
  6. 08 9月, 2005 4 次提交
  7. 06 9月, 2005 5 次提交
  8. 05 9月, 2005 2 次提交
  9. 31 8月, 2005 2 次提交
  10. 29 8月, 2005 1 次提交
  11. 18 8月, 2005 1 次提交
  12. 17 8月, 2005 1 次提交
  13. 15 8月, 2005 1 次提交
    • J
      [SCSI] correct transport class abstraction to work outside SCSI · d0a7e574
      James Bottomley 提交于
      I recently tried to construct a totally generic transport class and
      found there were certain features missing from the current abstract
      transport class.  Most notable is that you have to hang the data on the
      class_device but most of the API is framed in terms of the generic
      device, not the class_device.
      
      These changes are two fold
      
      - Provide the class_device to all of the setup and configure APIs
      - Provide and extra API to take the device and the attribute class and
        return the corresponding class_device
      Signed-off-by: NJames Bottomley <James.Bottomley@SteelEye.com>
      d0a7e574
  14. 12 7月, 2005 1 次提交
  15. 30 6月, 2005 5 次提交
  16. 29 6月, 2005 1 次提交
  17. 26 6月, 2005 3 次提交
  18. 23 6月, 2005 1 次提交
  19. 22 6月, 2005 1 次提交
    • C
      [PATCH] node local per-cpu-pages · e7c8d5c9
      Christoph Lameter 提交于
      This patch modifies the way pagesets in struct zone are managed.
      
      Each zone has a per-cpu array of pagesets.  So any particular CPU has some
      memory in each zone structure which belongs to itself.  Even if that CPU is
      not local to that zone.
      
      So the patch relocates the pagesets for each cpu to the node that is nearest
      to the cpu instead of allocating the pagesets in the (possibly remote) target
      zone.  This means that the operations to manage pages on remote zone can be
      done with information available locally.
      
      We play a macro trick so that non-NUMA pmachines avoid the additional
      pointer chase on the page allocator fastpath.
      
      AIM7 benchmark on a 32 CPU SGI Altix
      
      w/o patches:
      Tasks    jobs/min  jti  jobs/min/task      real       cpu
          1      484.68  100       484.6769     12.01      1.97   Fri Mar 25 11:01:42 2005
        100    27140.46   89       271.4046     21.44    148.71   Fri Mar 25 11:02:04 2005
        200    30792.02   82       153.9601     37.80    296.72   Fri Mar 25 11:02:42 2005
        300    32209.27   81       107.3642     54.21    451.34   Fri Mar 25 11:03:37 2005
        400    34962.83   78        87.4071     66.59    588.97   Fri Mar 25 11:04:44 2005
        500    31676.92   75        63.3538     91.87    742.71   Fri Mar 25 11:06:16 2005
        600    36032.69   73        60.0545     96.91    885.44   Fri Mar 25 11:07:54 2005
        700    35540.43   77        50.7720    114.63   1024.28   Fri Mar 25 11:09:49 2005
        800    33906.70   74        42.3834    137.32   1181.65   Fri Mar 25 11:12:06 2005
        900    34120.67   73        37.9119    153.51   1325.26   Fri Mar 25 11:14:41 2005
       1000    34802.37   74        34.8024    167.23   1465.26   Fri Mar 25 11:17:28 2005
      
      with slab API changes and pageset patch:
      
      Tasks    jobs/min  jti  jobs/min/task      real       cpu
          1      485.00  100       485.0000     12.00      1.96   Fri Mar 25 11:46:18 2005
        100    28000.96   89       280.0096     20.79    150.45   Fri Mar 25 11:46:39 2005
        200    32285.80   79       161.4290     36.05    293.37   Fri Mar 25 11:47:16 2005
        300    40424.15   84       134.7472     43.19    438.42   Fri Mar 25 11:47:59 2005
        400    39155.01   79        97.8875     59.46    590.05   Fri Mar 25 11:48:59 2005
        500    37881.25   82        75.7625     76.82    730.19   Fri Mar 25 11:50:16 2005
        600    39083.14   78        65.1386     89.35    872.79   Fri Mar 25 11:51:46 2005
        700    38627.83   77        55.1826    105.47   1022.46   Fri Mar 25 11:53:32 2005
        800    39631.94   78        49.5399    117.48   1169.94   Fri Mar 25 11:55:30 2005
        900    36903.70   79        41.0041    141.94   1310.78   Fri Mar 25 11:57:53 2005
       1000    36201.23   77        36.2012    160.77   1458.31   Fri Mar 25 12:00:34 2005
      Signed-off-by: NChristoph Lameter <clameter@sgi.com>
      Signed-off-by: NShobhit Dayal <shobhit@calsoftinc.com>
      Signed-off-by: NShai Fultheim <Shai@Scalex86.org>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      e7c8d5c9
  20. 21 6月, 2005 5 次提交