1. 10 Oct, 2002 11 commits
    • John Stultz's avatar
      [PATCH] linux-2.5.41_cyclone-timer_B2 · 21872250
      John Stultz authored
              In order to demonstrate how new time-sources are added to my
      timer-changes patch. Here is my current version of my cyclone-timer
      patch for 2.5.41. This uses the infrastructure set up in the
      timer-changes_A4 patch set to add the cyclone counter (found on IBM
      Summit Based hardware) as a time-source.
      
              The current code is not enabled as it also depends on James
      Cleverdon's 2.5 summit patch, however it illustrates how cleanly new
      time-sources can be added.
      21872250
    • John Stultz's avatar
      [PATCH] linux-2.5.41_timer-changes_A4 (3/3 - integration) · f59a48cf
      John Stultz authored
              This is the final part 3 of 3 of my timer-change patch. Part 3
      integrates the moved code (from part 2) into the new infrastructure
      (from part 1).
      f59a48cf
    • John Stultz's avatar
      [PATCH] linux-2.5.41_timer-changes_A4 (2/3 - bulk move) · e8498001
      John Stultz authored
              This is part 2 of 3 of my timer-change patch. Part 2 is just a
      bulk move of code out of time.c and into timer_pit.c and timer_tsc.c. No
      code is changed, only moved.
      
              Please note, this code will not compile without the final third
      part of this patch collection. This was done for readability alone.
      e8498001
    • John Stultz's avatar
      [PATCH] linux-2.5.41_timer-changes_A4 (1/3 - infrastructure) · c710b958
      John Stultz authored
              The i386 time.c code is turning into a mess. We've got multiple
      functions that do the same thing, only with different hardware, all
      surrounded #ifdefs and even more difficult to follow #ifndefs. George
      Anzinger is introducing a new ACPIpm time source, I'm going to attempt
      to add the cyclone counter as a time source, and in the future there
      will be HPET to deal with. These will not go in cleanly together as
      things are now.
      
              Inspired by suggestions from Alan, this collection of patches
      tries to clean up time.c by breaking out the PIT and TSC specific parts
      into their own files. Additionally the patch creates an abstract
      interface to use these existing time soruces, as well as make it easier
      to add future time sources.
      
              It introduces "struct timer_ops" which gives the time code a
      clear interface to use these different time sources. It also allows for
      clearer conditional compilation of these various time sources.
      
              This first patch (part 1 of 3) provides the infrastructure
      needed via the timer_ops structure, as well as the select_timer()
      function for choosing the best available timer.
      c710b958
    • Andrew Morton's avatar
      [PATCH] make readv/writev return 0 for 0 segments · 6a839d30
      Andrew Morton authored
      Should resolve an ongoing fiasco concerning what we should return to
      userspace if they do a readv or writev of zero segments.
      
      SuS is ambiguous, but implies EINVAL.  We're currently returning
      EINVAL, but 2.4 returns zero.
      
      I think zero makes more sense, and it is what 2.4 does.
      6a839d30
    • Andrew Morton's avatar
      [PATCH] remove the sched_yield from the ext3 fsync path · 522864f4
      Andrew Morton authored
      The changed sched_yield() semantics have made ext3's transaction
      batching terribly slow.
      
      Apparently a schedule() fixes that, although it probably breaks
      transaction batching.
      
      This patch largely fixes my complaints about the new scheduler being
      extremely sluggish to interactive applications.  Evidently those
      applications were calling fsync() and were spending extremely long
      periods in sched_yield().
      522864f4
    • Andrew Morton's avatar
      [PATCH] remove radix_tree_reserve() · 6b1ba797
      Andrew Morton authored
      From Hugh Dickins.
      
      radix_tree_reserve() exists solely for the tmpfs move_to_swap_cache()
      and move_from_swap_cache() functions, and yet they don't need it: there
      is no problem in the one page being simultaneously listed in two radix
      trees (while both locks are held).  Use radix_tree_insert(), and remove
      radix_tree_reserve(); also removed a few blank lines.
      6b1ba797
    • Andrew Morton's avatar
      [PATCH] fix the raw driver · 60c6d43b
      Andrew Morton authored
      Fix the raw driver by tricking it into performing O_DIRECT IO against
      the bound blockdev.
      
      - rewrite the i_mapping for /dev/raw/raw0 to point at the same thing
        as bdev->bd_inode->i_mapping.  We've performed a bdget() against the
        blockdev, which should pin it for the correct lifetime.
      
      - set the O_DIRECT bit on the caller's file->flags.
      60c6d43b
    • Andrew Morton's avatar
      [PATCH] move_one_page atomicity fix · d8f299c2
      Andrew Morton authored
      The atomicicty fix for move_one_page() was not quite right.
      
      We only do the page_table_present() test if CONFIG_HIGHPTE=y.  Which is
      fine, but even with CONFIG_HIGHPTE=n, the pte mapping functions still
      do an inc_preempt_count() due to their unconditional kmap_atomic().  So
      we get a might_sleep() warning.
      
      The warning is actually bogus, because those pte's are always in
      direct-mapped memory.
      
      So hm.  Three fixes suggest themselves:
      
      1: Run the page_table_present() test if CONFIG_HIGHMEM.
      
         Rejected: penalises non-pte_highmem setups
      
      2: Make kmap_atomic() not do inc_preempt_count() is the page was
         direct mapped.
      
         Rejected: I don't think we want kmap_atomic side effects to be
         varying according to the page which was passed.
      
      3: Change the pte mapping functions so they don't run kmap_atomic at
         all if CONFIG_HIGHPTE=n
      
         This is what I did.  And guess what?  For CONFIG_HIGHMEM=y,
         CONFIG_HIGHPTE=n this patch shrinks the kernel by 5 kbytes.  Because
         kmap_atomic is inlined.
      
         The lesson: we do way too much damn inlining.
      d8f299c2
    • Andrew Morton's avatar
      [PATCH] mremap use-after-free bugfix · f0f5d073
      Andrew Morton authored
      I have invented a new software development methodology! You send an
      email to Hugh saying "I don't have the foggiest idea why this guy's
      kernel is oopsing" and next morning, you get a patch! I shall patent
      this.
      
      Since 2.5.3, move_vma() has been passing a freed vma into
      move_page_tables().  Fix it to move back to the previous vma in the
      list if we're about to delete this one.
      
      Thanks to Morten Helgesen for patient reporting, diagnosis and testing.
      f0f5d073
    • Ingo Molnar's avatar
      [PATCH] timer cleanups · d4979c79
      Ingo Molnar authored
      This is my latest timer patchset, it makes del_timer_sync() a bit more
      robust wrt.  code that re-adds timers from the timer handler.
      
      Other changes in the patch:
      
       - clean up cascading a bit.
      
       - do not save flags in __run_timer_list - we enter from an irqs-enabled
         tasklet.
      d4979c79
  2. 09 Oct, 2002 29 commits
    • Stephen Rothwell's avatar
      [PATCH] fix __SI_CODE · 469d2810
      Stephen Rothwell authored
      This small patch is extracted from George Anzinger's High-res-timer
      patches.
      469d2810
    • Linus Torvalds's avatar
      Merge bk://are.twiddle.net/axp-2.5 · b873ed19
      Linus Torvalds authored
      into home.transmeta.com:/home/torvalds/v2.5/linux
      b873ed19
    • Richard Henderson's avatar
    • Richard Henderson's avatar
      Merge ssh://are.twiddle.net/BK/axp-2.5 · 73bd2109
      Richard Henderson authored
      into dot.sfbay.redhat.com:/dot/bang/rth/linux/axp-2.5
      73bd2109
    • David Jeffery's avatar
      [PATCH] ips driver 6/6 · 583bcb77
      David Jeffery authored
      2 bug fixes for scsi pass through
      
      When talking directly to scsi devices, the driver would
      sometimes get two things wrong.  We could set too short
      of a timeout. Or, we could confuse the adapter by having
      non-zero values in certain fields which we shouldn't have
      been using.  This patch corrects these problems.
      583bcb77
    • David Jeffery's avatar
      [PATCH] ips driver 5/6 · 1417bd08
      David Jeffery authored
      2 minor bug fixes.
      
      The first section makes sure we limit the size of the
      sense_buffer copy to the target buffer's size so that
      we don't overflow the sence_buffer.
      
      The other sections remove some pointer arithmatic that
      is wrong on 64bit machines do to padding.  Instead, just
      call the pci_map functions on the buffer.
      1417bd08
    • David Jeffery's avatar
      [PATCH] ips driver 4/6 · 20081964
      David Jeffery authored
      This is by far the biggest patch.  It is a rewrite of the
      driver's horrid locking.  In addition to the host_lock,
      the driver used to have 4 other locks per adapter!
      It had a redundant ha_lock and a lock for each of 3
      queues.  In a few places it also played with atomic bit
      setting. And almost all of it was useless as the
      host_lock was already held.
      
      This patch cleans up this locking nightmare.  The driver
      now uses the host_lock exclusively.  Only a few places
      needed to add calls to lock the host_lock.  Most of
      this patch is deletion of useless extra locking.
      20081964
    • David Jeffery's avatar
      [PATCH] ips driver 3/6 · d3c20327
      David Jeffery authored
      This patch adds an Adaptec copyright, makes a few
      minor comment changes, and removes a few unneeded
      macros.
      d3c20327
    • David Jeffery's avatar
      [PATCH] ips driver 2/6 · 705f83df
      David Jeffery authored
      This patch is some simple code consolidation.
      A new function ips_abort_init() is created
      and consolidates some repeated code that is
      used if there is an error during initialization
      of the adapter.
      705f83df
    • David Jeffery's avatar
      [PATCH] ips driver 1/6 · ab804805
      David Jeffery authored
      This removes several unused header includes and allows
      the driver to compile by no longer trying to include
      <linux/tqueue.h> . You may have already gotten a patch
      to remove tqueue.h from someone else.
      
      This patch also corrects the spelling of my last name
      in the MAINTAINERS file.  You'd think I'd be used to
      seeing it spelled wrong by now.
      ab804805
    • Richard Henderson's avatar
      Merge are.twiddle.net:/home/rth/BK/linus-2.5 · c0fcc4c7
      Richard Henderson authored
      into are.twiddle.net:/home/rth/BK/axp-2.5
      c0fcc4c7
    • Linus Torvalds's avatar
      wd7000 indent pass, no code changes · cd509844
      Linus Torvalds authored
      indent -kr -i8 -bri0 -l255 wd7000.{c,h}
      cd509844
    • Doug Ledford's avatar
      [PATCH] compile fix for cpqfc driver · 6f720ad0
      Doug Ledford authored
      6f720ad0
    • Robert Love's avatar
      [PATCH] getpid() comment typo · 0f61ccea
      Robert Love authored
      Comment above getpid() is wrong.
      
      This patch fixes it, and expands the comment to explain why on earth
      we have getpid() returning ->tgid and not ->pid.
      0f61ccea
    • Robert Love's avatar
      [PATCH] fix preempt_count overflow with brlocks · 2a7a183f
      Robert Love authored
      Now that brlocks loop over NR_CPUS, on SMP every br_lock/br_unlock
      results in the acquire/release of 32 locks.  This incs/decs the
      preempt_count by 32.
      
      Since we only have 7 bits now for actually storing the lock depth, we
      cannot nest but 3 locks deep.  I doubt we ever acquire three brlocks
      concurrently, but it is still a concern.
      
      Attached patch disables/enables preemption explicitly once and only
      once for each lock/unlock.  This is also an optimization as it
      removes 31 incs, decs, and conditionals. :)
      
      Problem reported by Andrew Morton.
      2a7a183f
    • Alan Cox's avatar
      [PATCH] 3c501 for 2.5 · 26113ebe
      Alan Cox authored
      Not much here, just some tidying/checking. This driver can't alas use NAPI
      in 2.5. Note however it has no panics or BUG()s so appears to meet the
      carrier grade guidelines ;)
      
      - Clarified authors so I get the mail not Donald
      - Added missing MODULE_ bits
      - Moved junk into 3c501.h
      26113ebe
    • Alan Cox's avatar
      [PATCH] first pass over the in2000 · 73c8ae7c
      Alan Cox authored
      - new locking
      - new_eh
      - use ->page/->offset
      73c8ae7c
    • Linus Torvalds's avatar
      Merge bk://ldm.bkbits.net/linux-2.5-ide · ff64a6e3
      Linus Torvalds authored
      into penguin.transmeta.com:/home/penguin/torvalds/repositories/kernel/linux
      ff64a6e3
    • Patrick Mochel's avatar
      IDE: make ide_drive_remove() call driver's ->cleanup(). · ef1e58e7
      Patrick Mochel authored
      This was accidentally dropped before, but re-added now to completely mimic
      behavior of the reboot notifier IDE used to have. 
      ef1e58e7
    • Patrick Mochel's avatar
      IDE: Add generic remove() method for drives; remove reboot notifier. · 5530a5d1
      Patrick Mochel authored
        
      The remove() method is generic for all drives, and set in ide_driver_t::gen_driver.
      The call simply forwards the call to ide_driver_t::standby(). 
      
      This obviates the need for IDE reboot notifier. The core iterates over all present
      devices in device_shutdown() and unregisters each one. 
      5530a5d1
    • Patrick Mochel's avatar
      IDE: register ide driver for all ide drives; not just for disk drives. · b134c462
      Patrick Mochel authored
        
      This adds
            struct device_driver    gen_driver;
        
      to ide_driver_t, which is filled in with necessary fields when an ide
      driver calls ide_register_driver(). That then registers the driver with
      the driver model core. 
        
      As a result, this gives us the following output in driverfs:
        
      # tree -d /sys/bus/ide/drivers/
      /sys/bus/ide/drivers/
      |-- ide-cdrom
      `-- ide-disk
        
      The suspend/resume callbacks in ide-disk.c have been temporarily
      disabled until the ide core implements generic methods which forward
      the calls to the drive drivers. 
      b134c462
    • Richard Henderson's avatar
      Merge ssh://are.twiddle.net/BK/linus-2.5 · df818849
      Richard Henderson authored
      into dot.sfbay.redhat.com:/dot/bang/rth/linux/axp-2.5
      df818849
    • Richard Henderson's avatar
      Merge are.twiddle.net:/home/rth/BK/linus-2.5 · a1abbd62
      Richard Henderson authored
      into are.twiddle.net:/home/rth/BK/axp-2.5
      a1abbd62
    • Thomas Molina's avatar
      [PATCH] missing exports · e38e1e7f
      Thomas Molina authored
      the netfilter ipt owner module still needs the following to compile
      e38e1e7f
    • Thomas Molina's avatar
      [PATCH] remove double "lock" in v_midi.h · 0bb7248b
      Thomas Molina authored
      A second instance of lock had been inadvertently added to v_midi.h
      0bb7248b
    • Patrick Mochel's avatar
      IDE: add struct device to ide_drive_t and use that for IDE drives · ca0e5f35
      Patrick Mochel authored
      ... instead of the one in struct gendisk.
      ca0e5f35
    • Martin Schwidefsky's avatar
      [PATCH] s390 update: 3270 console · 513ec1e8
      Martin Schwidefsky authored
      Fix 3270 console reboot loop. Recognize 3270 control unit type 3174.
      Fix tubfs kmallocs. Dynamically get 3270 input buffer. Get bootup colors
      right on 3270 console
      513ec1e8
    • Martin Schwidefsky's avatar
      [PATCH] s390 update: syscall tracing · 0dd3cc51
      Martin Schwidefsky authored
      Pass the system call number in grp2 to strace instead of -ENOSYS.
      0dd3cc51
    • Martin Schwidefsky's avatar
      [PATCH] s390 update: superfluous memset · b579a8f7
      Martin Schwidefsky authored
      Remove a duplicate memset. That is already done in alloc_disk.
      b579a8f7