1. 15 Oct, 2002 18 commits
    • John Levon's avatar
      [PATCH] oprofile - timer hook · 120790b8
      John Levon authored
      This implements a simple hook into the profiling timer for x86 so that
      non-perfctr machines can still use oprofile.  This has proven useful for
      laptops and the like.
      
      It also reduces header dependencies a bit by centralising readprofile
      code
      120790b8
    • John Levon's avatar
      [PATCH] oprofile - dcookies · 7e1aee05
      John Levon authored
      This implements the persistent path-to-dcookies mapping, and adds a
      system call for the user-space profiler to look up the profile data, so
      it can tag profiles to specific binaries.
      7e1aee05
    • John Levon's avatar
      [PATCH] oprofile - hooks · 19bb2ab9
      John Levon authored
      This implements the simple hooks we need to catch unmappings, and to
      make sure no stale task_struct*'s are ever used by the main oprofile
      core mechanism.  If disabled, it compiles to nothing.
      19bb2ab9
    • Alexander Viro's avatar
      [PATCH] bunch of ->open() killed. · dec3735e
      Alexander Viro authored
      Quite a few drivers don't need ->open() anymore - all it did was checking
      that minor is good (== gendisk exists).  That is handled by generic code
      now...
      dec3735e
    • Alexander Viro's avatar
      [PATCH] bdev->bd_disk introduced · 5682bcc6
      Alexander Viro authored
      There we go - now we can put a reference to gendisk into block_device.  Which
      we do in do_open().  Most of the callers of get_gendisk() are simply using
      bdev->bd_disk now (and most of the put_disk() calls introduced on previous
      step disappear).  We also put that pointer into struct request - ->rq_disk.
      That allows to get rid of disk_index() kludges in md.c (we simply count
      relevant IO in the struct gendisk fields) and kill the export of get_gendisk().
      	Notice that by now we can move _all_ IO counters into gendisk.  That
      will kill a bunch of per-major arrays and more importantly, allow to merge
      sard in clean way.  FWIW, we probably could show them as disk/partitions
      attributes in driverfs...
      5682bcc6
    • Alexander Viro's avatar
      [PATCH] refcounts for gendisks · 68c16870
      Alexander Viro authored
      Finally.  We use disk->dev.refcount as a gendisk refcount.  New helper -
      get_disk(): atomic_inc on refcount.  get_gendisk() does it on return,
      callers of get_gendisk() do put_disk() when they are done.
      68c16870
    • Alexander Viro's avatar
      [PATCH] preparation to use of driverfs refcounts, part 2 - disk · b288f6ad
      Alexander Viro authored
      	* disk->disk_dev is initialized in alloc_disk(), device_add()'d in
      	  add_disk(), device_del()'d in unregister_disk() and device_put() in
      	  put_disk().
      	* devices of partitions are made its children.
      	* attributes of disk one: dev (dev_t of the thing), range (number of
      	  minors) and size (in sectors).
      	* attributes of partition ones: dev (ditto), start (in sectors) and
      	  size (in sectors).
      	* disk devices are put on a new bus - "block"
      	* if caller of add_disk() had set disk->driverfs_dev, we set symlinks:
      	  "device" from disk to underlying device and "block" from underlying
      	  device to disk.
      	* ->release() of disk_dev frees disk and disk->part.
      	At that point we have sane driverfs subtree for each gendisk and
      refcount of its root (disk->disk_dev) can act as gendisk refcount.
      b288f6ad
    • Alexander Viro's avatar
      [PATCH] preparation to use of driverfs refcounts, part 1 - partitions · afae25b7
      Alexander Viro authored
      	* update_partition() split into add_partition() and delete_partition().
      	* all updating of ->part[] is switched to these two (including initial
      filling/final cleaning).
      	* per-partition devices are allocated on-demand and never reused.
      We allocate struct device in add_partition() and put reference to it into
      hd_struct.  ->release() for that struct device frees it.  delete_partition()
      removes reference from hd_struct and does put_device() on it.  Basically,
      we get rid of problems with reused struct device by never reusing them...
      	At that point devices for partitions are nice and sane.
      afae25b7
    • Alexander Viro's avatar
      [PATCH] block ioctl cleanup · c6973580
      Alexander Viro authored
      	guts of blkpg.c and blkdev_ioctl() sanitized up and moved into a new
      file - drivers/block/ioctl.c.  blkpg.c is gone.
      c6973580
    • Alexander Viro's avatar
      [PATCH] device_register() splitup · 8b290eb1
      Alexander Viro authored
      	new driverfs helpers - device_initialize/device_add and device_del.
      The latter is device_unregister() sans the final put_device().  The former
      is splitup of device_register() into initialization and insertion into tree.
      8b290eb1
    • Alexander Viro's avatar
      [PATCH] disk->minor_shift cleanup · 847c633a
      Alexander Viro authored
      	new field - disk->minors (1 << disk->minor_shift).  Almost all uses
      of ->minor_shift had that form and thus had been replaced.
      847c633a
    • Alexander Viro's avatar
      [PATCH] early allocation of ->part · b8ed1788
      Alexander Viro authored
      allocation of ->part[] moved to alloc_disk(); alloc_disk() got an
      argument (number of minors expected).  Freeing is in put_disk().
      b8ed1788
    • Linus Torvalds's avatar
      Merge bk://linux-bt.bkbits.net/bt-2.5 · 40d1b71b
      Linus Torvalds authored
      into home.transmeta.com:/home/torvalds/v2.5/linux
      40d1b71b
    • Linus Torvalds's avatar
      Oops, fix over-eager search-and-replace. · 0c8aab5d
      Linus Torvalds authored
      0c8aab5d
    • Linus Torvalds's avatar
    • Linus Torvalds's avatar
      Remove ide-cd reliance on "struct packet_struct", make it use · de224587
      Linus Torvalds authored
      the native "struct request" fields instead.
          
      Simplify and clean up sense data handling.
      
      This makes IDE CD-RW burning possible without ide-scsi.c
      de224587
    • Linus Torvalds's avatar
      Remove unused variable warning · 138753d7
      Linus Torvalds authored
      138753d7
    • Linus Torvalds's avatar
      Block layer ioctl cleanups. · 90df68e7
      Linus Torvalds authored
      Rename old "block_ioctl()" function: it's "scsi_cmd_ioctl()", as that
      is what the function does. Rename the whole file "scsi_ioctl.c"
      90df68e7
  2. 14 Oct, 2002 2 commits
  3. 13 Oct, 2002 20 commits
    • Maksim Krasnyanskiy's avatar
      Consistent naming for Bluetooth function and constants. · ba4d1613
      Maksim Krasnyanskiy authored
      Some of them were named like BT_XXX and bt_xxx others BLUEZ_XXX and bluez_xxx.
      From now on use BT_XXX and bt_xxx throughout Bluetooth code, including CONFIG_ defines.
      Clean up small typos and misspelling along the way.
      ba4d1613
    • Maksim Krasnyanskiy's avatar
      Now that the module name bluetooth.o is not used by USB subsystem anymore · b7f0e1d2
      Maksim Krasnyanskiy authored
      we can rename bluez.o to what it should have been from the begging 
      bluetoth.o
      b7f0e1d2
    • Linus Torvalds's avatar
      Merge bk://linuxusb.bkbits.net/linus-2.5 · 71660e15
      Linus Torvalds authored
      into home.transmeta.com:/home/torvalds/v2.5/linux
      71660e15
    • Andrew Morton's avatar
      [PATCH] remove kiobufs · 2dcb8ff9
      Andrew Morton authored
      This patch from Christoph Hellwig removes the kiobuf/kiovec
      infrastructure.
      
      This affects three subsystems:
      
      video-buf.c:
      
         This patch includes an earlier diff from Gerd which converts
          video-buf.c to use get_user_pages() directly.
      
         Gerd has acked this patch.
      
      LVM1:
      
         Is now even more broken.
      
      drivers/mtd/devices/blkmtd.c:
      
         blkmtd is broken by this change.  I contacted Simon Evans, who
         said "I had done a rewrite of blkmtd anyway and just need to convert
         it to BIO.  Feel free to break it in the 2.5 tree, it will force me
         to finish my code."
      
      Neither EVMS nor LVM2 use kiobufs.  The only remaining breakage
      of which I am aware is a proprietary MPEG2 streaming module.  It
      could use get_user_pages().
      2dcb8ff9
    • Andrew Morton's avatar
      [PATCH] msync correctness fixes · 59791303
      Andrew Morton authored
      From Anton Blanchard.  This fixes a couple of Linux Test Project
      failures.
      
      - Returns EBUSY if the caller is trying to invalidate memory which is
        covered by a locked vma.
      
        The open group say:
      
        [EBUSY]
                Some or all of the addresses in the range starting
                at addr and continuing for len bytes are locked,
                and MS_INVALIDATE is specified.
      
      - Returns EINVAL if the caller specified both MS_SYNC and MS_ASYNC
      
        [EINVAL]
                The value of flags is invalid.
      
        and:
      
                "Either MS_ASYNC or MS_SYNC is specified, but not both."
      59791303
    • Andrew Morton's avatar
      [PATCH] enable 64-bit sector_t config option · 0e296d85
      Andrew Morton authored
      CONFIG_LBD was initially hardwired to "on" for testing.  That seems to
      have gone OK, so now make it configurable.
      0e296d85
    • Andrew Morton's avatar
      [PATCH] discontigmem: zero out the per-node zone structures at boot · 881b4046
      Andrew Morton authored
      From Bill Irwin: ensure that the data structures which hold the node's
      zone structures is all zeroed before we start using it.
      881b4046
    • Andrew Morton's avatar
      [PATCH] fix disk IO stats for 512-byte IOs · 12c26749
      Andrew Morton authored
      If you're peforming 512-byte sized IOs.  With, say,
      
      	dd of=/dev/raw/raw1 bs=512
      
      then the `pgpgin' and `pgpgout' accounting just sits on zero.
      
      This is because it counts in kbytes, and 512/1024 is zero.
      
      So change it to count sectors, and divide that by two when we report it
      to userspace.
      12c26749
    • Andrew Morton's avatar
      [PATCH] batched slab shrink and registration API · 71419dc7
      Andrew Morton authored
      From Ed Tomlinson, then mauled by yours truly.
      
      The current shrinking of the dentry, inode and dquot caches seems to
      work OK, but it is slightly CPU-inefficient: we call the shrinking
      functions many times, for tiny numbers of objects.
      
      So here, we just batch that up - shrinking happens at the same rate but
      we perform it in larger units of work.
      
      To do this, we need a way of knowing how many objects are currently in
      use by individual caches.  slab does not actually track this
      information, but the existing shrinkable caches do have this on hand.
      So rather than adding the counters to slab, we require that the
      shrinker callback functions keep their own count - we query that via
      the callback.
      
      We add a simple registration API which is exported to modules.  A
      subsystem may register its own callback function via set_shrinker().
      
      set_shrinker() simply takes a function pointer.  The function is called
      with
      
      	int (*shrinker)(int nr_to_shrink, unsigned int gfp_mask);
      
      The shrinker callback must scan `nr_to_scan' objects and free all
      freeable scanned objects.  Note: it doesn't have to *free* `nr_to_scan'
      objects.  It need only scan that many.  Which is a fairly pedantic
      detail, really.
      
      The shrinker callback must return the number of objects which are in
      its cache at the end of the scanning attempt.  It will be called with
      nr_to_scan == 0 when we're just querying the cache size.
      
      The set_shrinker() registration API is passed a hint as to how many
      disk seeks a single cache object is worth.  Everything uses "2" at
      present.
      
      I saw no need to add the traditional `here is my void *data' to the
      registration/callback.  Because there is a one-to-one relationship
      between caches and their shrinkers.
      
      
      Various cleanups became possible:
      
      - shrink_icache_memory() is no longer exported to modules.
      
      - shrink_icache_memory() is now static to fs/inode.c
      
      - prune_icache() is now static to fs/inode.c, and made inline (single caller)
      
      - shrink_dcache_memory() is made static to fs/dcache.c
      
      - prune_dcache() is no longer exported to modules
      
      - prune_dcache() is made static to fs/dcache.c
      
      - shrink_dqcache_memory() is made static to fs/dquot.c
      
      - All the quota init code has been moved from fs/dcache.c into fs/dquot.c
      
      - All modifications to inodes_stat.nr_inodes are now inside
        inode_lock - the dispose_list one was racy.
      71419dc7
    • Greg Kroah-Hartman's avatar
      Merge kroah.com:/home/linux/linux/BK/bleeding-2.5 · 31c96625
      Greg Kroah-Hartman authored
      into kroah.com:/home/linux/linux/BK/gregkh-2.5
      31c96625
    • David Brownell's avatar
      [PATCH] usbcore doc + minor fixes · 321d6a82
      David Brownell authored
      Cleaning out my queue of most minor patches:
      
        - Provides some kerneldoc for 'struct usb_interface' now that
          the API is highlighting it.
      
        - Fixes usb_set_interface() so it doesn't affect other interfaces.
      
          This provides the right place for an eventual HCD call to clean
          out now-invalid records of endpoint state, and also gets rid of
          a potential SMP issue where drivers on different interfaces
          calling concurrently could clobber each other.  (Per-interface
          data doesn't need locking except against config changes.)
      
        - It's OK to pass URB_NO_INTERRUPT hints if you're queueing a
          bunch of interrupt transfers.
      
      The set_interface call should eventually take the interface as a
      parameter, it's one of the few left using the "device plus magic
      number" identifier.  I have a partial patch for that, but it doesn't
      handle the (newish) ALSA usb audio driver or a few other callers.
      321d6a82
    • Greg Kroah-Hartman's avatar
      USB: visor.c: changed USB_DT_DEVICE to USB_RECIP_INTERFACE, as that's the proper #define to use. · c2ece75a
      Greg Kroah-Hartman authored
      Thanks to David Brownell for pointing this out to me.
      c2ece75a
    • Romain Liévin's avatar
      [PATCH] char driver: added tipar driver · 2a4eb6d7
      Romain Liévin authored
      Here is patch which adds parallel link cable support for Texas Instruments
      graphing calculators.
      2a4eb6d7
    • Linus Torvalds's avatar
      Merge bk://bk.arm.linux.org.uk · e0970dce
      Linus Torvalds authored
      into home.transmeta.com:/home/torvalds/v2.5/linux
      e0970dce
    • Russell King's avatar
      [ARM] Update integrator-flash.c from MTD CVS · 4c515af5
      Russell King authored
      Keep the partition information around for the lifetime of the module.
      4c515af5
    • Russell King's avatar
      [ARM] Update AFS mtd partition parsing. · da4acd13
      Russell King authored
      This updates AFS mtd partition parsing to the current CVS version:
      - Don't recognise the AFS SIB as a partition
      - Ensure initialisation of afs mtdpart structures.
      da4acd13
    • Russell King's avatar
      [ARM] Update cyber2000fb for 2.5 fbcon. · 63ffa3f0
      Russell King authored
      63ffa3f0
    • Russell King's avatar
      [ARM] Update clps711x fbcon driver. · a2ca74ad
      Russell King authored
      a2ca74ad
    • Russell King's avatar
      fa1625e7
    • Russell King's avatar
      [ARM] Update sa1100 PCMCIA support · 26908da1
      Russell King authored
      We removed asm/mach-types.h from asm/hardware.h.  This means we must
      now include asm/mach-types.h where its used.
      
      We also fix h3600 pcmcia initialisation/cleanup.
      26908da1