1. 24 3月, 2006 3 次提交
    • P
      [PATCH] bitmap: region restructuring · 3cf64b93
      Paul Jackson 提交于
      Restructure the bitmap_*_region() operations, to avoid code duplication.
      
      Also reduces binary text size by about 100 bytes (ia64 arch).  The original
      Bottomley bitmap_*_region patch added about 1000 bytes of compiled kernel text
      (ia64).  The Mundt multiword extension added another 600 bytes, and this
      restructuring patch gets back about 100 bytes.
      
      But the real motivation was the reduced amount of duplicated code.
      
      Tested by Paul Mundt using <= BITS_PER_LONG as well as power of
      2 aligned multiword spanning allocations.
      Signed-off-by: NPaul Mundt <lethal@linux-sh.org>
      Signed-off-by: NPaul Jackson <pj@sgi.com>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      3cf64b93
    • P
      [PATCH] bitmap: region multiword spanning support · 74373c6a
      Paul Mundt 提交于
      Add support to the lib/bitmap.c bitmap_*_region() routines
      
      For bitmap regions larger than one word (nbits > BITS_PER_LONG).  This removes
      a BUG_ON() in lib bitmap.
      
      I have an updated store queue API for SH that is currently using this with
      relative success, and at first glance, it seems like this could be useful for
      x86 (arch/i386/kernel/pci-dma.c) as well.  Particularly for anything using
      dma_declare_coherent_memory() on large areas and that attempts to allocate
      large buffers from that space.
      
      Paul Jackson also did some cleanup to this patch.
      Signed-off-by: NPaul Mundt <lethal@linux-sh.org>
      Signed-off-by: NPaul Jackson <pj@sgi.com>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      74373c6a
    • P
      [PATCH] bitmap: region cleanup · 87e24802
      Paul Jackson 提交于
      Paul Mundt <lethal@linux-sh.org> says:
      
      This patch set implements a number of patches to clean up and restructure the
      bitmap region code, in addition to extending the interface to support
      multiword spanning allocations.
      
      The current implementation (before this patch set) is limited by only being
      able to allocate pages <= BITS_PER_LONG, as noted by the strategically
      positioned BUG_ON() at lib/bitmap.c:752:
      
              /* We don't do regions of pages > BITS_PER_LONG.  The
      	 * algorithm would be a simple look for multiple zeros in the
      	 * array, but there's no driver today that needs this.  If you
      	 * trip this BUG(), you get to code it... */
              BUG_ON(pages > BITS_PER_LONG);
      
      As I seem to have been the first person to trigger this, the result ends up
      being the following patch set with the help of Paul Jackson.
      
      The final patch in the series eliminates quite a bit of code duplication, so
      the bitmap code size ends up being smaller than the current implementation as
      an added bonus.
      
      After these are applied, it should already be possible to do multiword
      allocations with dma_alloc_coherent() out of ranges established by
      dma_declare_coherent_memory() on x86 without having to change any of the code,
      and the SH store queue API will follow up on this as the other user that needs
      support for this.
      
      This patch:
      
      Some code cleanup on the lib/bitmap.c bitmap_*_region() routines:
      
       * spacing
       * variable names
       * comments
      
      Has no change to code function.
      Signed-off-by: NPaul Mundt <lethal@linux-sh.org>
      Signed-off-by: NPaul Jackson <pj@sgi.com>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      87e24802
  2. 23 3月, 2006 1 次提交
  3. 22 3月, 2006 1 次提交
    • A
      [PATCH] multiple exports of strpbrk · f4a641d6
      Andrew Morton 提交于
      Sam's tree includes a new check, which found that we're exporting strpbrk()
      multiple times.
      
      It seems that the convention is that this is exported from the arch files, so
      reove the lib/string.c export.
      
      Cc: Sam Ravnborg <sam@ravnborg.org>
      Cc: Yoshinori Sato <ysato@users.sourceforge.jp>
      Cc: David Howells <dhowells@redhat.com>
      Cc: Greg Ungerer <gerg@uclinux.org>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      f4a641d6
  4. 21 3月, 2006 4 次提交
  5. 23 2月, 2006 1 次提交
    • G
      Revert mount/umount uevent removal · fa675765
      Greg Kroah-Hartman 提交于
      This change reverts the 033b96fd commit
      from Kay Sievers that removed the mount/umount uevents from the kernel.
      Some older versions of HAL still depend on these events to detect when a
      new device has been mounted.  These events are not correctly emitted,
      and are broken by design, and so, should not be relied upon by any
      future program.  Instead, the /proc/mounts file should be polled to
      properly detect this kind of event.
      
      A feature-removal-schedule.txt entry has been added, noting when this
      interface will be removed from the kernel.
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      fa675765
  6. 19 2月, 2006 1 次提交
  7. 17 2月, 2006 1 次提交
    • N
      [PATCH] Fix over-zealous tag clearing in radix_tree_delete · 90f9dd8f
      NeilBrown 提交于
      If a tag is set for a node being deleted from a radix_tree, then that
      tag gets cleared from the parent of the node, even if it is set for some
      siblings of the node begin deleted.
      
      This patch changes the logic to include a test for any_tag_set similar
      to the logic a little futher down.  Care is taken to ensure that
      'nr_cleared_tags' remains equals to the number of entries in the 'tags'
      array which are set to '0' (which means that this tag is not set in the
      tree below pathp->node, and should be cleared at pathp->node and
      possibly above.
      
      [ Nick says: "Linus FYI, I was able to modify the radix tree test
        harness to catch the bug and can no longer trigger it after the fix.
        Resulting code passes all other harness tests as well of course." ]
      Signed-off-by: NNeil Brown <neilb@suse.de>
      Acked-by: NNick Piggin <npiggin@suse.de>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      90f9dd8f
  8. 10 2月, 2006 1 次提交
  9. 08 2月, 2006 1 次提交
  10. 07 2月, 2006 3 次提交
  11. 04 2月, 2006 1 次提交
  12. 03 2月, 2006 1 次提交
  13. 02 2月, 2006 1 次提交
    • B
      [PATCH] Introduce __iowrite32_copy · c27a0d75
      Bryan O'Sullivan 提交于
      This arch-independent routine copies data to a memory-mapped I/O region,
      using 32-bit accesses.  The naming is double-underscored to make it clear
      that it does not guarantee write ordering, nor does it perform a memory
      barrier afterwards; the kernel doc also explicitly states this.  This style
      of access is required by some devices.
      
      This change also introduces include/linux/io.h, at Andrew's suggestion.  It
      only has one occupant at the moment, but is a logical destination for
      oft-replicated contents of include/asm-*/{io,iomap}.h to migrate to.
      Signed-off-by: NBryan O'Sullivan <bos@pathscale.com>
      Cc: Andi Kleen <ak@muc.de>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      c27a0d75
  14. 15 1月, 2006 1 次提交
  15. 12 1月, 2006 1 次提交
    • M
      [PATCH] x86_64: Use function pointers to call DMA mapping functions · 17a941d8
      Muli Ben-Yehuda 提交于
      AK: I hacked Muli's original patch a lot and there were a lot
      of changes - all bugs are probably to blame on me now.
      There were also some changes in the fall back behaviour
      for swiotlb - in particular it doesn't try to use GFP_DMA
      now anymore. Also all DMA mapping operations use the
      same core dma_alloc_coherent code with proper fallbacks now.
      And various other changes and cleanups.
      
      Known problems: iommu=force swiotlb=force together breaks
                      needs more testing.
      
      This patch cleans up x86_64's DMA mapping dispatching code. Right now
      we have three possible IOMMU types: AGP GART, swiotlb and nommu, and
      in the future we will also have Xen's x86_64 swiotlb and other HW
      IOMMUs for x86_64. In order to support all of them cleanly, this
      patch:
      
      - introduces a struct dma_mapping_ops with function pointers for each
        of the DMA mapping operations of gart (AMD HW IOMMU), swiotlb
        (software IOMMU) and nommu (no IOMMU).
      
      - gets rid of:
      
        if (swiotlb)
            return swiotlb_xxx();
      
      - PCI_DMA_BUS_IS_PHYS is now checked against the dma_ops being set
      This makes swiotlb faster by avoiding double copying in some cases.
      Signed-Off-By: NMuli Ben-Yehuda <mulix@mulix.org>
      Signed-Off-By: NJon D. Mason <jdmason@us.ibm.com>
      Signed-off-by: NAndi Kleen <ak@suse.de>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      17a941d8
  16. 11 1月, 2006 3 次提交
  17. 10 1月, 2006 1 次提交
  18. 09 1月, 2006 7 次提交
  19. 07 1月, 2006 3 次提交
  20. 05 1月, 2006 4 次提交
    • A
      [PATCH] kobject_uevent CONFIG_NET=n fix · f743ca5e
      akpm@osdl.org 提交于
      lib/lib.a(kobject_uevent.o)(.text+0x25f): In function `kobject_uevent':
      : undefined reference to `__alloc_skb'
      lib/lib.a(kobject_uevent.o)(.text+0x2a1): In function `kobject_uevent':
      : undefined reference to `skb_over_panic'
      lib/lib.a(kobject_uevent.o)(.text+0x31d): In function `kobject_uevent':
      : undefined reference to `skb_over_panic'
      lib/lib.a(kobject_uevent.o)(.text+0x356): In function `kobject_uevent':
      : undefined reference to `netlink_broadcast'
      lib/lib.a(kobject_uevent.o)(.init.text+0x9): In function `kobject_uevent_init':
      : undefined reference to `netlink_kernel_create'
      make: *** [.tmp_vmlinux1] Error 1
      
      Netlink is unconditionally enabled if CONFIG_NET, so that's OK.
      
      kobject_uevent.o is compiled even if !CONFIG_HOTPLUG, which is lazy.
      
      Let's compound the sin.
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      f743ca5e
    • F
      [PATCH] klist: Fix broken kref counting in find functions · e22dafbc
      Frank Pavlic 提交于
      The klist reference counting in the find functions that use
      klist_iter_init_node is broken.  If the function (for example
      driver_find_device) is called with a NULL start object then everything is
      fine, the first call to next_device()/klist_next increases the ref-count of
      the first node on the list and does nothing for the start object which is
      NULL.
      
      If they are called with a valid start object then klist_next will decrement
      the ref-count for the start object but nobody has incremented it.  Logical
      place to fix this would be klist_iter_init_node because the function puts a
      reference of the object into the klist_iter struct.
      Signed-off-by: NMartin Schwidefsky <schwidefsky@de.ibm.com>
      Signed-off-by: NFrank Pavlic <pavlic@de.ibm.com>
      Cc: Patrick Mochel <mochel@digitalimplant.org>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      e22dafbc
    • K
      [PATCH] driver core: replace "hotplug" by "uevent" · 312c004d
      Kay Sievers 提交于
      Leave the overloaded "hotplug" word to susbsystems which are handling
      real devices. The driver core does not "plug" anything, it just exports
      the state to userspace and generates events.
      Signed-off-by: NKay Sievers <kay.sievers@suse.de>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      312c004d
    • K
      [PATCH] merge kobject_uevent and kobject_hotplug · 5f123fbd
      Kay Sievers 提交于
      The distinction between hotplug and uevent does not make sense these
      days, netlink events are the default.
      
      udev depends entirely on netlink uevents. Only during early boot and
      in initramfs, /sbin/hotplug is needed. So merge the two functions and
      provide only one interface without all the options.
      
      The netlink layer got a nice generic interface with named slots
      recently, which is probably a better facility to plug events for
      subsystem specific events.
      Also the new poll() interface to /proc/mounts is a nicer way to
      notify about changes than sending events through the core.
      The uevents should only be used for driver core related requests to
      userspace now.
      Signed-off-by: NKay Sievers <kay.sievers@suse.de>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      5f123fbd