1. 11 Nov, 2002 2 commits
    • Douglas Gilbert's avatar
      scsi_debug 1.64 against 2.5.47 · a31f7618
      Douglas Gilbert authored
      This is essentially the same patch that I sent earlier
      today. The earlier patch will apply cleanly. However since
      the 'sscanf("-1", "%d", &i)' bug is fixed in lk 2.5.47,
      this attachment removes the work around.
      
      lk 2.5.47 does not include the 'modprobe/rmmod' fixes from
      Patrick Mansfield sent last week. They apply cleanly to
      lk 2.5.47 and with them modprobe/rmmod cycles are stable
      with scsi_debug.
      a31f7618
    • James Bottomley's avatar
      Merge mulgrave.(none):/home/jejb/BK/scsi-misc-2.5 · b7c36ad9
      James Bottomley authored
      into mulgrave.(none):/home/jejb/BK/scsi-misc-new-2.5
      b7c36ad9
  2. 10 Nov, 2002 23 commits
    • James Bottomley's avatar
      ffd91b2f
    • Linus Torvalds's avatar
      Linux v2.5.47 · 5be2bc3c
      Linus Torvalds authored
      5be2bc3c
    • Andrew Morton's avatar
      [PATCH] remove duplicated disk statistics · 36e573c7
      Andrew Morton authored
      This patch will break some userspace monitoring apps in the name of
      having sane disk statistics in 2.6.x.
      
      Patch from Rick Lindsley <ricklind@us.ibm.com>
      
      In 2.5.46, there are now disk statistics being collected twice: once
      for gendisk/hd_struct, and once for dkstat.  They are collecting the
      same thing.  This patch removes dkstat, which also had the disadvantage
      of being limited by DK_MAX_MAJOR and DK_MAX_DISK. (Those #defines are
      removed too.)
      
      In addition, this patch removes disk statistics from /proc/stat since
      they are now available via sysfs and there seems to have been a general
      preference in previous discussions to "clean up" /proc/stat.  Too many
      disks being reported in /proc/stat also caused buffer overflows when
      trying to print out the data.
      
      The code in led.c from the parisc architecture has not apparently been
      recompiled under recent versions of 2.5, since it references
      kstat.dk_drive which doesn't exist in later versions.  Accordingly,
      I've added an #ifdef 0 and a comment to that code so that it may at
      least compile, albeit without one feature -- a step up from its state
      now.  If it is preferable to keep the broken code in, that patch may
      easily be excised from below.
      36e573c7
    • Andrew Morton's avatar
      [PATCH] fix page alloc/free accounting · 3e4c5912
      Andrew Morton authored
      We're currently incrementing /proc/vmstat:pgalloc in front of the
      per-cpu page queues, and incrementing /proc/vmstat:pgfree behind the
      per-cpu queues.  So they get out of whack.
      
      Change it so that we increment the counters each time someone requests
      a page.  ie: they're both in front of the queues.
      
      Also, remove a duplicated prep_new_page() call and as a consequence,
      drop the whole additional list walk in rmqueue_bulk().
      3e4c5912
    • Andrew Morton's avatar
      [PATCH] buffer_head refcounting fixes and cleanup · d9c53386
      Andrew Morton authored
      There was some strange code in the __getblk()/__find_get_block()/
      __bread() area which was performimg multiple bh_lru_install() calls as
      well as multiple touch_buffer() calls.
      
      Fix all that up.  We only need to run bh_lru_install() and
      touch_buffer() in __find_get_block().  Because if the block wasn't
      found, __getblk() will create it and will re-run __find_get_block().
      
      Also document a few things and make a couple of internal symbols static
      to buffer.c
      
      Also, don't run __find_get_block() from within
      unmap_underlying_metadata().  We hardly expect to find that block
      inside the LRU.  And we hardly expect to use it as metadata in the near
      future so there's no point in letting it evict another buffer if we
      found it.  So just go straight into the pagecache lookup for
      unmap_underlying_metadata().
      d9c53386
    • Andrew Morton's avatar
      [PATCH] Fix math underflow in disk accounting · 79d8554f
      Andrew Morton authored
      Patch from Lev Makhlis <mlev@despammed.com>
      
      The disk accounting will overflow after 4,000,000 seconds.  Extend that
      by a factor of 1000.
      79d8554f
    • Andrew Morton's avatar
      [PATCH] hugetlb: make private functions static · becd026d
      Andrew Morton authored
      Patch from William Lee Irwin III <wli@holomorphy.com>
      
      This patch makes various private structures and procedures static.
      becd026d
    • Andrew Morton's avatar
      [PATCH] hugetlb: remove /proc/ intrusion · 919de8f5
      Andrew Morton authored
      Patch from William Lee Irwin III <wli@holomorphy.com>
      
      This patch removes hugetlb's intrusion into /proc/
      919de8f5
    • Andrew Morton's avatar
      [PATCH] hugetlb: remove sysctl.c intrusion · 20078cee
      Andrew Morton authored
      Patch from William Lee Irwin III <wli@holomorphy.com>
      
      This patch removes hugetlb's intrusion into kernel/sysctl.c
      20078cee
    • Andrew Morton's avatar
      [PATCH] hugetlb: internalize hugetlb init · db6005a2
      Andrew Morton authored
      Patch from William Lee Irwin III <wli@holomorphy.com>
      
      This patch internalizes hugetlb initialization, implementing a command-line
      option in the process.
      db6005a2
    • Andrew Morton's avatar
      [PATCH] hugetlb: remove unlink_vma() · 755643ba
      Andrew Morton authored
      Patch from William Lee Irwin III <wli@holomorphy.com>
      
      This patch removes the unused function unlink_vma().
      755643ba
    • Andrew Morton's avatar
      [PATCH] hugetlb: fix zap_hugetlb_resources() · 0371880f
      Andrew Morton authored
      Patch from William Lee Irwin III <wli@holomorphy.com>
      
      This patch eliminates zap_hugetlb_resources, along with its usages.
      This actually fixes bugs, as zap_hugetlb_resources was itself buggy.
      0371880f
    • Andrew Morton's avatar
      [PATCH] SMP iowait stats · 3dd63b7d
      Andrew Morton authored
      Patch from William Lee Irwin III <wli@holomorphy.com>
      
      Idle time accounting is disturbed by the iowait statistics, for several
      reasons:
      
      (1) iowait time is not subdivided among cpus.
              The only way the distinction between idle time subtracted from
              cpus (in order to be accounted as iowait) can be made is by
              summing counters for a total and dividing the individual tick
              counters by the proportions. Any tick type resolution which is
              not properly per-cpu breaks this, meaning that cpus which are
              entirely idle, when any iowait is present on the system, will
              have all idle ticks accounted to iowait instead of true idle time.
      
      (2) kstat_read_proc() misreports iowait time
              The idle tick counter is passed twice to the sprintf(), once
              in the idle tick position, and once in the iowait tick position.
      
      (3) performance enhancement
              The O(1) scheduler was very carefully constructed to perform
              accesses only to localized cachelines whenever possible. The
              global counter violates one of its core design principles,
              and the localization of "most" accesses is in greater harmony
              with its overall design and provides (at the very least) a
              qualitative performance improvement wrt. cache.
      
      The method of correcting this is simple: embed an atomic iowait counter
      in the runqueues, find the runqueue being manipulated in io_schedule(),
      increment its atomic counter prior to schedule(), and decrement it
      after returning from schedule(), which is guaranteed to be the same one,
      as the counter incremented is tracked as a variable local to the procedure.
      Then simply sum to obtain a global iowait statistic.
      
      (Atomicity is required as the post-wait decrement may occur on a different
      cpu from the one owning the counter.)
      
      io_schedule() and io_schedule_timeout() are moved to sched.c as they must
      access the runqueues, which are private to sched.c, and nr_iowait() is
      created in order to export the sum of all runqueues' nr_iowait().
      3dd63b7d
    • Andrew Morton's avatar
      [PATCH] Fix readv/writev return value · 33f9ef1c
      Andrew Morton authored
      A patch from Janet Morgan <janetmor@us.ibm.com>
      
      If you feed an iovec with a bad address not at the zeroeth segment into
      readv or writev, it returns the wrong value.
      
      	iovec 1:  base is 8050b20 len is 64
      	iovec 2:  base is ffffffff len is 64
      	iovec 3:  base is 8050ba0 len is 64
      
      The writev should return 64 bytes but is returning 128
      
      This is because we've added the new segment's length into `count'
      before running access_ok().
      
      The patch changes it to fix that up on the slow path, if access_ok() fails.
      33f9ef1c
    • Andrew Morton's avatar
      [PATCH] misc fixes · e300f70b
      Andrew Morton authored
      - Revert the 3c59x.c compile warning fixes.  The return type of inl()
        was reverted back to the correct 32 bits.
      
      - Fix an uninitialised timer in ext3 (JBD debug mode only) - run
        setup_ro_after() during initialisation.
      
      - Fix ifdef/endif imbalance in JFS
      e300f70b
    • Jaroslav Kysela's avatar
      ALSA update · b706cbf8
      Jaroslav Kysela authored
         - CS4231 - added sparc support to merge sparc/cs4231.c code
         - ICE1712
           - added support for AK4529
           - added support for Midiman M-Audio Delta410
         - USB driver
           - fixed against newer USB API but allow compilation under 2.4
      b706cbf8
    • Jaroslav Kysela's avatar
      ALSA update · a1a1c402
      Jaroslav Kysela authored
         - CS46xx driver
           - DSP is started after initializing AC97 codecs
           - rewrite SPDIF output stuff
           - variable period size support on playback and capture
           - DAC volume mechanism  rewrite
           - IEC958 input volume mechanism rewrite
           - added "AC3 Mode Switch" in mixer
           - code cleanups
         - ENS1371 driver
           - added definitions for the ES1373 chip
           - added code to control IEC958 (S/PDIF) channel status register
      a1a1c402
    • Jaroslav Kysela's avatar
      ALSA update · a673e746
      Jaroslav Kysela authored
        - Moved initialization of card->id to card_register() function.
          The new default id is composed from the shortname given by driver.
        - ES18xx - Fixed power management defines
        - VIA82xx - The SG table is build inside hw_params (outside spinlock - memory allocation).
      a673e746
    • Jaroslav Kysela's avatar
      ALSA update - small patches · 1c033b99
      Jaroslav Kysela authored
        - added kmalloc_nocheck and vmalloc_nocheck macros
        - PCM
          - the page callback returns 'struct page *'
          - fixed delay function (moved put_user call outside spinlock)
        - OSS PCM emulation
          - fixed read() lock when stream was terminated and no data is available
        - EMU8000
         - added 'can schedule' condition to snd_emu8000_write_wait()
        - AC'97
         - added ALC650 support
        - ALI5451
          - removed double free
      1c033b99
    • James Bottomley's avatar
      warn (and don't attach) if no error handling · e51e9039
      James Bottomley authored
      Add code to warn and not attach the host if it has no error handling.
      
      Allow attachment if the `scsi_ignore_no_error_handling' boot flag
      is set.
      
      This should allow us finally to rip out all the old error code.
      e51e9039
    • Douglas Gilbert's avatar
      scsi_mid_low_api.txt · ee8692cd
      Douglas Gilbert authored
      This patch against 2.5.46-bk3 is work in progress
      (since the interface is in flux). It dusts of some
      cobwebs, removes politically incorrect typedefs and
      describes slave_attach() and slave_detach(). It
      removes the revoke() description (per hch? changes).
      
      Is a section describing mid level functions provided
      for LLDDs (e.g. scsi_adjust_queue_depth() )
      warranted?
      ee8692cd
    • Douglas Gilbert's avatar
      scsi_debug 1.64 , remove detect(), "hotplug" hosts · 2eca25e4
      Douglas Gilbert authored
      This patch is against lk 2.5.46-bk3 which includes
      Christoph's work removing the requirement for
      detect() functions in LLDDs. He sent me an example
      for scsi_debug which I have built on with this patch.
      
      As threatened, this version includes a "scsi_debug_add_host"
      parameter. At kernel or module load time this is an absolute
      number (0..127 are allowable and 1 is the default). So:
           modprobe scsi_debug scsi_debug_num_devs=20 scsi_debug_add_host=0
      will result in no scsi_debug hosts (thus no devices) but
      the driver has 20 slots available for devices.
      
      Then a host can be introduced (simulated hotplug) by
           echo 1 > /sysfs/bus/scsi/drivers/scsi_debug/add_host
      This causes a scsi_debug host to appear and devices get
      found on it [14 in my system: 7 targets (0..6) each with
      2 luns (0..1)]. Another host hotplug can be simulated by
           echo 1 > /sysfs/bus/scsi/drivers/scsi_debug/add_host
      which results in another 6 devices being attached (for a
      total of 20 scsi_debug devices as dictated by the original
      scsi_debug_num_devs).
      
      That last (second) scsi_debug host can be removed by
           echo -1 > /sysfs/bus/scsi/drivers/scsi_debug/add_host
      and its 6 devices go. Another application of this "echo"
      removes the first host and all remaining devices.
      
      Seems to work fine.
      2eca25e4
    • Christoph Hellwig's avatar
  3. 09 Nov, 2002 11 commits
  4. 08 Nov, 2002 1 commit
  5. 09 Nov, 2002 3 commits