1. 14 Aug, 2002 7 commits
    • James Bottomley's avatar
      8403fb48
    • James Bottomley's avatar
      Merge by hand · c6efcb49
      James Bottomley authored
      c6efcb49
    • James Bottomley's avatar
      Merge mulgrave.(none):/home/jejb/BK/scsi-cpqfc-2.5 · 12c262b2
      James Bottomley authored
      into mulgrave.(none):/home/jejb/BK/scsi-for-linus-2.5
      12c262b2
    • James Bottomley's avatar
      Merge by hand · 378a8995
      James Bottomley authored
      378a8995
    • Douglas Gilbert's avatar
      This version of sg for the lk 2.5 series re-adds direct IO · 2e0376aa
      Douglas Gilbert authored
      support using work done by Kai Makisara (on st driver, posted
      2002/7/29).
      
      Changelog:
          Changes since 3.5.26 (20020708)
              - re-add direct IO using Kai Makisara's work
              - re-tab to 8, start using C99-isms
              - simplify memory management
      
      Like Kai's patch, this one needs kernel/ksyms.c altered
      to export get_user_pages(). Kai's worker routines
      st_map_user_pages() and st_unmap_user_pages() are duplicated
      as is. Hopefully these routines will find a home in
      a library soon.
      
      The re-tabbing makes the patches rather large so here
      are 2 urls:
      This tarball contains sg.h and sg.c 
      	http://www.torque.net/sg/p/sg3527.tgz
      This gzipped patch is against lk 2.5.31 and touches
      kernel/ksyms.c as well
      	http://www.torque.net/sg/p/sg_3527_lk2531.diff.gz
      
      Testing is ongoing, everything works apart from "zero
      copy" copy. That uses mmap-ed IO on the read side and
      direct IO on the write side. Not too many people would
      be using that I suspect.
      
      Doug Gilbert
      2e0376aa
    • Douglas Gilbert's avatar
      [PATCH] lk 2.5.31 scsi interface documentation · 9017032b
      Douglas Gilbert authored
      Linus,
      Below is a patch to a file that documents the interface
      between the scsi mid level and lower level (HBA) drivers.
      
      The main change is documenting "autosense". bios_param()'s
      interface has changed.
      
      Doug Gilbert
      9017032b
    • Douglas Gilbert's avatar
      Here is an update for scsi_debug that utilizes driverfs · bb70b680
      Douglas Gilbert authored
      support for per driver parameters added in lk 2.5.31
      
      1.62 changes:
        - driverfs support for these options (more to come):
          /driverfs/bus/scsi/drivers/scsi_debug/delay [rw]
          /driverfs/bus/scsi/drivers/scsi_debug/num_devs [r]
          /driverfs/bus/scsi/drivers/scsi_debug/opts [rw]
        - start using some C99
        - fdisk requires EINVAL from unsupported ioctls
          (scsi_debug previously used ENOTTY)
      
      1.61 changes:
        - simulate delayed responses, controlled by
          'scsi_debug_delay'
        - support REPORT LUNS
        - support more MODE SENSE pages
        - [following Doug Ledford's suggestion] do autosense
          (i.e. set Scsi_Cmnd::sense_buffer array appropriately
           when a status of CHECK CONDITION is set)
        - minor driverfs support
        - start adding error injection logic, see
          "scsi_debug_every_nth"
      
      Doug Gilbert
      bb70b680
  2. 13 Aug, 2002 33 commits
    • Paul Mackerras's avatar
      [PATCH] add FP exception mode prctl · fcc6fcc6
      Paul Mackerras authored
      This patch that adds a prctl so that processes can set their
      floating-point exception mode on PPC and on PPC64.  We need this
      because the FP exception mode is controlled by bits in the machine
      state register, which can only be accessed by the kernel, and because
      the exception mode setting interacts with the lazy FPU save/restore
      that the kernel does.
      fcc6fcc6
    • Andrew Morton's avatar
      [PATCH] printk from userspace · e1b19d6e
      Andrew Morton authored
      The patch allows userspace to issue printk's, via sys_syslog().
      
      The main use of this is within hpa's klibc - initial userspace needs a
      way of logging information and this API allows that information to be
      captured into the printk ringbuffer.  It ends up in /var/log/messages.
      
      Messages are truncated at 1024 characters by printk's vsprintf().
      
      Requires CAP_SYS_ADMIN.
      e1b19d6e
    • Andrew Morton's avatar
      [PATCH] export simple_strtoull · d004bef7
      Andrew Morton authored
      JFS needs this.
      d004bef7
    • Albert Cranford's avatar
      [PATCH] i2c updates 4/4 · 3df60e41
      Albert Cranford authored
      Please apply the four of four tested patches that update
      2.5.31 with these I2C changes:
       o Support for SMBus 2.0 PEC Packet Error Checking
       o New adapter-i2c-frodo for SA 1110 board
       o New adapter-i2c-rpx for embeded MPC8XX
       o Replace depreciated cli()&sti() with spin_{un}lock_irq()
       o Updated documentation
      3df60e41
    • Albert Cranford's avatar
      [PATCH] i2c updates 3/4 · 9bc9da2d
      Albert Cranford authored
      Please apply the three of four tested patches that update
      2.5.31 with these I2C changes:
       o Support for SMBus 2.0 PEC Packet Error Checking
       o New adapter-i2c-frodo for SA 1110 board
       o New adapter-i2c-rpx for embeded MPC8XX
       o Replace depreciated cli()&sti() with spin_{un}lock_irq()
       o Updated documentation
      9bc9da2d
    • Albert Cranford's avatar
      [PATCH] i2c updates 2/4 · 208e1d7a
      Albert Cranford authored
      Please apply the two of four tested patches that update
      2.5.31 with these I2C changes:
       o Support for SMBus 2.0 PEC Packet Error Checking
       o New adapter-i2c-frodo for SA 1110 board
       o New adapter-i2c-rpx for embeded MPC8XX
       o Replace depreciated cli()&sti() with spin_{un}lock_irq()
       o Updated documentation
      208e1d7a
    • Linus Torvalds's avatar
      Merge bk://ldm.bkbits.net/linux-2.5 · 76044a7f
      Linus Torvalds authored
      into home.transmeta.com:/home/torvalds/v2.5/linux
      76044a7f
    • Andrew Morton's avatar
      [PATCH] designated initialisers for ext2 · d001e08a
      Andrew Morton authored
      Convert ext2 initialisers to c99 format.  From Art Haas.
      d001e08a
    • Patrick Mochel's avatar
      Remove do_driver_detach(), since device_detach does the same thing · 4446b906
      Patrick Mochel authored
      Make sure we delete devices from the driver list the iteration after we 
      detach them (so we can get a valid next pointer)
      4446b906
    • Patrick Mochel's avatar
      Merge osdl.org:/home/mochel/src/kernel/devel/linux-2.5-virgin · 436d4abd
      Patrick Mochel authored
      into osdl.org:/home/mochel/src/kernel/devel/linux-2.5-driverfs-test
      436d4abd
    • Petr Vandrovec's avatar
      [PATCH] C99 designated initializers for fs/ncpfs · 991d0dcb
      Petr Vandrovec authored
      More C99 initializers fixes in ncpfs. By Art Haas <ahaas@neosoft.com>
      991d0dcb
    • Linus Torvalds's avatar
      Merge http://linuxusb.bkbits.net/linus-2.5 · 8bae8620
      Linus Torvalds authored
      into penguin.transmeta.com:/home/penguin/torvalds/repositories/kernel/linux
      8bae8620
    • Greg Kroah-Hartman's avatar
    • Greg Kroah-Hartman's avatar
      Merge kroah.com:/home/greg/linux/BK/bleeding_edge-2.5 · 1dab1f42
      Greg Kroah-Hartman authored
      into kroah.com:/home/greg/linux/BK/gregkh-2.5
      1dab1f42
    • Andrew Morton's avatar
      [PATCH] random fixes · 5b1b229f
      Andrew Morton authored
      - I changed the sector_t thing in max_block to use davem's approach.
        I agree with Anton, but making it explicit doesn't hurt.
      
      - Remove a dead comment in copy_strings.
      
      Old stuff:
      
      - Remove the IO error warning in end_buffer_io_sync().  Failed READA
        attempts trigger it.
      
      - Emit a warning when an ext2 is mounting an ext3 filesystem.
      
        We have had quite a few problem reports related to this, mainly
        arising from initrd problems.  And mount(8) tends to report the
        fstype from /etc/fstab rather than reporting what has really
        happened.
      
      Fixes some bogosity which I added to max_block():
      
      - `size' doesn't need to be sector_t
      
      - `retval' should not be initialised to "~0UL" because that is
        0x00000000ffffffff with 64-bit sector_t.
      
      - Allocate task_structs with GFP_KERNEL, as discussed.
      
      - Convert the EXPORT_SYMBOL for generic_file_direct_IO() to
        EXPORT_SYMBOL_GPL.  That was only exported as a practicality for the
        raw driver.
      
      - Make the loop thread run balance_dirty_pages() after dirtying the
        backing file.  So it will perform writeback of the backing file when
        dirty memory levels are high.  Export balance_dirty_pages to GPL
        modules for this.
      
        This makes loop work a lot better - I suspect it broke when callers
        of balance_dirty_pages() started writing back only their own queue.
      
        There are many page allocation failures under heavy loop writeout.
        Coming from blk_queue_bounce()'s allocation from the page_pool
        mempool.  So...
      
      - Disable page allocation warnings around the initial atomic
        allocation attempt in mempool_alloc() - the one where __GFP_WAIT and
        __GFP_IO were turned off.  That one can easily fail.
      
      - Add some commentary in block_write_full_page()
      5b1b229f
    • Andrew Morton's avatar
      [PATCH] scaled writeback throttling levels · 5803a3a6
      Andrew Morton authored
      get_page_state() is showing up on profiles on some big machines.  It is
      a quite expensive function and it is being called too often.
      
      The patch replaces the hardwired RATELIMIT_PAGES with a calculated
      amount based on the amount of memory in the machine and the number of
      CPUs.
      5803a3a6
    • Andrew Morton's avatar
      [PATCH] reduced locking in buffer.c · 88d37bdd
      Andrew Morton authored
      Replace the buffer lru spinlock protection with local_irq_disable and a
      cross-CPU call to invalidate them.
      88d37bdd
    • Andrew Morton's avatar
      [PATCH] fix ARCH_HAS_PREFETCH · 8e4f2fd3
      Andrew Morton authored
      include/linux/prefetch.h does a strange thing: if the arch doesn't have
      the prefectch functions, this header defines no-op version of them and
      then defines ARCH_HAS_PREFETCH.  So there's no way for mainline code to
      know if the architecture *really* has prefetch instructions.
      
      This information loss is unfortunate.  Examples:
      
      	for (i = 0; i < N; i++)
      		prefetch(foo[i]);
      
         Problem is, if `prefetch' is a no-op, the compiler will still
         generate an empty busy-wait loop.  Which it must do.  We need to
         know the truth about ARCH_HAS_PREFETCH to correctly elide that loop.
      8e4f2fd3
    • Oliver Neukum's avatar
      [PATCH] Problem with CDC Ethernet driver (CDCEther.c) · 015377da
      Oliver Neukum authored
        - fixed deadlock
      015377da
    • Ingo Molnar's avatar
      [PATCH] user-vm-unlock-2.5.31-A2 · 456f17cd
      Ingo Molnar authored
      This implements CLONE_VM_RELEASE, which lets the child release the 'user
      VM' at mm_release() time.
      456f17cd
    • Ingo Molnar's avatar
      [PATCH] clone-detached-2.5.31-B0 · aeb44e19
      Ingo Molnar authored
      the attached patch implements the per-CPU thread-structure cache to do
      detached exit, if the parent does not want to be notified of child exit
      via a signal.
      aeb44e19
    • Ingo Molnar's avatar
      [PATCH] CLONE_SETTLS, CLONE_SETTID, 2.5.31-BK · 61afdfc9
      Ingo Molnar authored
      This adds two new clone() flags:
      
          CLONE_SETTLS => if present then the third clone() syscall parameter
                          is the new TLS.
      
          CLONE_SETTID => if present then the child TID is written to the
                          address specified by the fourth clone() parameter.
      
      the new parameters are handled in a safe way, clone() returns -EFAULT or
      -EINVAL if there's some problem with them.
      61afdfc9
    • Badari Pulavarty's avatar
      [PATCH] embarrassing 2.5.31 small bug fix for blkdev_reread_part() · 192b4702
      Badari Pulavarty authored
      Here is a trivial bug fix for blkdev_reread_part() in 2.5.31.
      Without this fix,  "fdisk" hangs with following messages:
      
      	Calling ioctl() to re-read partition table.
      
      	WARNING: Re-reading the partition table failed with error 16:
      			Device or resource busy.
      	The kernel still uses the old table.
      	The new table will be used at the next reboot.
      192b4702
    • Patrick Mochel's avatar
      Merge osdl.org:/home/mochel/src/kernel/devel/linux-2.5-virgin · 8137f0c9
      Patrick Mochel authored
      into osdl.org:/home/mochel/src/kernel/devel/linux-2.5-driverfs-test
      8137f0c9
    • Greg Kroah-Hartman's avatar
    • Patrick Mochel's avatar
      Update device model locking · 789e39b0
      Patrick Mochel authored
      Change all iterators of devices to:
      - use list_for_each
      - check return of get_device_locked
      - don't break until we hold the lock if we get an error
      
      When a device's reference count hits 0, remove it from all lists, including
      bus and driver lists.
      
      Between the iterator algorithm and the guaranteed removal from the lists,
      there should never be a device in a list with a reference count of 0. 
      So, whenever we're iterating over the lists, we'll always have a valid 
      device. We don't decrement the refcount until the next iteration of the
      loop, so we're also guaranteed to get the correct next item in the list.
      789e39b0
    • David Brownell's avatar
      [PATCH] HCDs support new DMA APIs (part 2 of 2) · 17f736b6
      David Brownell authored
      - teaches the shared "hcd" code to set urb->*_dma whenever the device
        driver didn't, by creating singleshot mappings.
      17f736b6
    • David Brownell's avatar
      [PATCH] HCDs support new DMA APIs (part 1 of 2) · f7503d44
      David Brownell authored
      -  teaches the hardware-specific code to
         use urb->*_dma instead of creating mappings.
         (And tells ohci-sa1111 to init its buffer pools.)
         EHCI and UHCI also eliminated duplicated state;
         all the HCDs are now a smidgeon smaller.
      
      Sanity checked by enumerating, including through
      a hub, and using a USB Ethernet adapter, with each
      of the three host controllers.
      
      Worth noting:  this removes pci_dma_sync_single()
      calls from UHCI.  On x86 (and some others) that's
      a NOP, but for UHCI on other platforms (rare except
      maybe on IA64, as I understand) this anticipates
      the upcoming patch to remove interrupt automagic.
      (I'll likely submit that after a Linus release that
      catches up to your USB tree. :)
      f7503d44
    • Patrick Mochel's avatar
      Fix and prevent bugs in device_register() · 266c24ad
      Patrick Mochel authored
      When adding to the global device list, we were adding devices just after their parent, while we wanted to
      add them just before. That way when we iterate over the list on suspend and shutdown, we'll hit all
      children before the parents.
      
      Make sure dev->driver_list and dev->bus_list are initialized when the device is registered
      
      Remove device from global and parent's list if registration failed.
      266c24ad
    • Randy Dunlap's avatar
      [PATCH] Network Options and Network Devices together · dd9831ef
      Randy Dunlap authored
      This patch to 2.5.31 pushes "Networking options" and
      "Network device support" together for all architectures
      that have them.
      
      They shouldn't be split apart by Telephony, I2O,
      Fusion, etc.
      dd9831ef
    • Rusty Russell's avatar
      [PATCH] DECLARE_PER_CPU/DEFINE_PER_CPU patch · a2314817
      Rusty Russell authored
      This old __per_cpu_data define wasn't enough if an arch wants to
      use the gcc __thread prefix (thread local storage), which needs to
      go *before* the type in the definition.  So we have to go for a
      DECLARE macro, and while we're there, separate DECLARE and DEFINE,
      as definitions of per-cpu data cannot live in modules.  This also
      means that accidental direct references to per-cpu variables will
      be caught at compile time.
      a2314817
    • Rusty Russell's avatar
      [PATCH] get_cpu_var patch · 466e44bb
      Rusty Russell authored
      This makes introduces get_cpu_var()/put_cpu_var() which gets a
      per-cpu variable and disables preemption, and renames the (unsafe
      under preemption) "this_cpu()" macro to __get_cpu_var().  It also
      deletes the redundant definitions in linux/smp.h.
      466e44bb
    • Rusty Russell's avatar
      [PATCH] Export __per_cpu_offset so modules can use per-cpu data. · b7b75b49
      Rusty Russell authored
      As per Andrew Morton's request.
      b7b75b49