1. 26 Feb, 2002 30 commits
    • Neil Brown's avatar
      [PATCH] PATCH 16/16: NFSD: TCP: enable NFS over TCP via config option · 51cba214
      Neil Brown authored
      Enable NFS over TCP via config option
      51cba214
    • Neil Brown's avatar
      [PATCH] PATCH 15/16: NFSD: TCP: Limit number of active tcp connections to an RPC service · afdb4fa2
      Neil Brown authored
      Limit number of active tcp connections to an RPC service
      
      If a connection comes in and that results in number of
      connections being more than 5 times the number of threads,
      then we close a connection.
      
      We randomly drop with the oldest or the newest connection.
      
      Thus if we are flooded with connection requests, some will
      get in and hopefully stay long enough to service at least one request.
      afdb4fa2
    • Neil Brown's avatar
      [PATCH] PATCH 14/16: NFSD: TCP: Declare max response sizes for NFS and NLM · 4e2f6bfe
      Neil Brown authored
      Declare response sizes for nfs/lockd requests
      
      This allows sndbuf reservation to be more accurate.
      
      For lockd we just say "0" for now, meaning assume the max.
      This could be improved, but it isn't critical.
      4e2f6bfe
    • Neil Brown's avatar
      [PATCH] PATCH 13/16: NFSD: TCP: Reserve space on sndbuf so we never block when writing · a87d7392
      Neil Brown authored
      Make sure there is alway adequate sndbuf space for replies.
      
      We keep track of how much space might be needed for replies
      and never dequeue a request unless there is adequate space
      for a maximal reply.  We assume each request will generate a maximal
      sized reply until the request is partly decoded.
      Each RPC program/procedure can specify the maximum size
      of a reply to the precedure (though they don't yet).
      
      The wspace callback is used to enqueue sockets that may be waiting
      for sndbuf space to become available.
      
      As there should always be enough buffer space to the full
      reply, the only reason that sock_sendmsg could block is due
      to a kmalloc delay.  As this is likely to be fairly quick (and if
      it isn't the server is clagged anyway) we remove the MSG_DONTWAIT
      flag, but set a 30 second timeout on waiting.  If the wait
      ever times out, we close the connection.  If it doesn't we can
      be sure that we did a complete write.
      
      
      When a request completes, we make sure that the space
      used for the reply does not exceed the space reserved.  This
      is an internal consistancy check.
      
      This patchs sets the sndbuf and rcvbuf sizes for all sockets
      used for rpc service.  This size if dependant on the servers bufsize (S) and
      partially on the number of threads (N).
      
      For UDP
          sndbuf == 5*S
          rcvbuf == (N+2)*S
      for TCP
          sndbuf == N*S
          rcvbuf == 3*S
      
      see code for rationale (in comments).
      a87d7392
    • Neil Brown's avatar
      [PATCH] PATCH 12/16: NFSD: TCP: Close idle TCP connections · cbf593fc
      Neil Brown authored
      Close idle rpc/tcp sockets
      
      We split the list of sv_allsocks into two, one
      of permanent sockets (udp, tcp listener) and one
      of temporary sockets (tcp data).
      
      Whenever we complete a successful receive on a temp socket,
      it gets pushed to the end of the list.
      
      Whenever a thread wants to do something, it first checks if
      the oldest temp socket has not has a receive for 6 mintutes
      (should possibly be configurable).  It so, we simulate
      a close.
      
      Finally we make sure that threads wake up every few minutes
      so that if the server is completely idle, all temp
      sockets will get closed.
      cbf593fc
    • Neil Brown's avatar
      [PATCH] PATCH 11/16: NFSD: TCP: close bad connections · 84e9f22a
      Neil Brown authored
      Detect and close tcp connections that we cannot work with.
      
      If an rpc fragment that arrives on a tcp connection
      is non-terminal or too large for our buffer, then we
      have to close the connection.
      Also, if a write fails on a tcp connection, we close
      the connection.
      84e9f22a
    • Neil Brown's avatar
      [PATCH] PATCH 10/16: NFSD: TCP: rationalise locking in RPC server routines · 294d77d9
      Neil Brown authored
      Tidy up SMP locking for svc_sock
      
      sk_lock is not necessary and is now removed.
      The only things that were happening under sk_lock but
      not the more global sv_lock were testing and setting
      some of the flags: sk_busy, sk_conn, sk_data etc.
      
      These have been changed to bits in a flags word which are atomically
      set and tested.
      
      Also, by establishing some simple rules about that must
      be done after setting these flags, the locking is not needed.
      
      With this patch sk_conn and sk_data are now flags, not counts (sk_data
      was already a flag for udp).  They are set if there might be
      a connection or data, and only clear when we are sure there aren't
      (or when we are about to check if there is).
      
      svc_sock_accepted becomes identical to svc_sock_recieved and
      so is discarded in favour of the latter.
      
      sk_rqstp was never used and is now gone.
      294d77d9
    • Neil Brown's avatar
      [PATCH] PATCH 9/16: NFSD: RPC init tidyup · 2b063bda
      Neil Brown authored
      Get sunrpc to use module_init properly
      
      rpc_register_sysctl was called in several places.
      Now only once.
      2b063bda
    • Neil Brown's avatar
      [PATCH] PATCH 8/16: NFSD: RPC lists tidyup · fac5a35a
      Neil Brown authored
      Change sunrpc to use more list.h lists
      
      The sunrpc client code uses home-grown doubly linked
      lists to group
         - idle server threads
         - pending server sockets
         - waiting rpc tasks
         - all rpc tasks.
      
      This patch converts all of these lists to <linux/list.h> lists and
      also makes the list of all server sockets for a particular server into
      a list.h list instead of a single-link list.
      
      Possibly the least obvious change is replacing RPC_INIT_WAITQ
      with RPC_WAITQ and INIT_RPC_WAITQ.  These follow the model of
      LIST_HEAD and INIT_LIST_HEAD defined in list.h and are needed
      to initialise the list_head in the rpc_waitq properly.
      fac5a35a
    • Neil Brown's avatar
      [PATCH] PATCH 7/16: NFSD: BKL removal: Discard high level BKL locking · a00181e0
      Neil Brown authored
      Remove last unneeded bit of BKL from knfsd
      
      Remove BKL from nfsservctl systemcall.  All
      components have their own locking.
      Also remove it from the body of nfsd threads.  Keep
      it for final thread destruction though.
      a00181e0
    • Neil Brown's avatar
      [PATCH] PATCH 6/16: BKL removal: Lock read-ahead cache · fd5cdcf8
      Neil Brown authored
      Protect read-ahead cache with SMP safe locking
      
      As another step to removing the BKL from nfsd, this patch
      protects the read-ahead cache with a spinlock.
      fd5cdcf8
    • Neil Brown's avatar
      [PATCH] PATCH 5/16: NFSD: BKL removal: add BKL where needed in filehandle lookup · 322eddbd
      Neil Brown authored
      Protect dentry attachement from BKL
      
      The process of attaching a dentry into the dcache
      still needs the BKL I think.
      When all the other BKL changes in the VFS settle down, I
      will revisit this.  But as it is not a very frequent
      operation, the BKL wont hurt.
      
      Also add a down/up of i_sem when doing a lookup(".."),
      as it is down for all other lookups.
      322eddbd
    • Neil Brown's avatar
      [PATCH] PATCH 4/16: NFSD: BKL Removal: Locking in nfssvc.c · 734f5929
      Neil Brown authored
      Tidy up locking in nfssvc - preparing for BKL removal
      
      - nfsd_busy becomes atomic_t
      - nfsd_call_lock created to protect timing of calls and stats gathering
      - lock_kernel around thread creation and destruction.  It is
        sufficiently uncommon that it doesn't really need a lock of it's
        own.  It is currently under the BKL because all of the nfsservctl
        syscall is, but that is about to be removed so we preserve BKL here.
      734f5929
    • Neil Brown's avatar
      [PATCH] PATCH 3/16: NFSD: BKL Removal: Reply Cache lock · f90efd5a
      Neil Brown authored
      Lock reply cache with SMP safety.
      
      As a second step to removing the BKL from nfsd, this patch
      protects the reply cache with a spinlock.
      
      This patches also removed cache_initialised as it
      is not longer needed (due to earlier patch).
      f90efd5a
    • Neil Brown's avatar
      [PATCH] PATCH 2/16: NFSD: BKL Removal: Lock export table · 8244559f
      Neil Brown authored
      Change export table lock to (SMP safe) rwsemaphore
      
      As a first step to removing the BKL from nfsd, this patch
      changes the lock used for the export table to be a rwsem semaphore.
      Previously it had the same functionality but depended on the BKL
      for correctness.
      
      As there is no "down_write_interruptible" this patch removes the
      posibility of interrupting the write_lock request, but this should
      never be needed anyway.
      8244559f
    • Neil Brown's avatar
      [PATCH] PATCH 1/16: NFSD: Compilation Fix · dd63f4c1
      Neil Brown authored
      Fix include file so syscall compiles when NFSD not configured
      dd63f4c1
    • Linus Torvalds's avatar
      Merge penguin.transmeta.com:/home/penguin/torvalds/repositories/kernel/joystick · 31079ce2
      Linus Torvalds authored
      into penguin.transmeta.com:/home/penguin/torvalds/repositories/kernel/linux
      31079ce2
    • Vojtech Pavlik's avatar
      [PATCH] Input patch - joystick drivers update · c20c3375
      Vojtech Pavlik authored
      As a step in the process of updating all the linux input drivers to the
      most recent version available, this patch updates all the joystick
      drivers that are in the kernel tree.
      
      Changes are mainly the input hotplug/proc support in every of the
      joystick drivers, and fixing trivial bugs here and there. I can supply a
      more detailed description upon request.
      c20c3375
    • Daniel Quinlan's avatar
      [PATCH] Linux Secondary Slave IDE timings · 89c70763
      Daniel Quinlan authored
      This fix is from Dave Bogdanoff <bog@transmeta.com>.
      
      Linux incorrectly sets up IDE timings for secondary slave drives on PC
      systems that use Intel PIIX Southbridges.
      
      This will correctly shift IDE slave PCI timings for register 44h so
      that:
      
       - secondary slave (drive1) uses bits 4-7
       - primary slave   (drive1) uses bits 0-3
      
      (The addition of the parentheses is needed so the shift will take
      place after the bitwise-or.  Without the parentheses, the shift will
      incorrectly always take place before the bitwise-or.)
      89c70763
    • Andi Kleen's avatar
      [PATCH] x86_64 irqstat change · 0fa9c2fa
      Andi Kleen authored
      x86_64 does not have an irq_stat array. It puts the interrupt information
      into its per CPU area instead, allowing more efficient access to it.
      This patch allows the architecture to overwrite
      the __IRQ_STAT access macro in linux/irq_cpustat.h.
      
      It is required to make the x86_64 port compile.
      
      -Andi
      0fa9c2fa
    • Andi Kleen's avatar
      [PATCH] x86-64 update for 2.5.5 · 3d614679
      Andi Kleen authored
      This patch makes x86-64 compile in 2.5.5 and syncs it with changes in the i386
      port. It also fixes some bugs that were discovered in recent testing:
      - enhance 32bit emulation and fix bugs.
      - fix security hole in vmalloc handling
      - Do not use lockless gettimeofday for now because it is buggy.
      The patch only changes x86_64 specific files.
      
      -Andi
      3d614679
    • Jaroslav Kysela's avatar
      [PATCH] ALSA patch for 2.5.5 · 4fff2c1a
      Jaroslav Kysela authored
      - added support for KERN_ prefixes for snd_printk
      - verbose printk (file:number) is now optional
      - fixed devfs OSS device names in soundcore
      - added XRUN ioctl for PCM API
      - improved support for Sound Blaster Audigy
      - fixed AC3 forwarding for Sound Blaster Live!
      - more fixes in dependencies in Makefiles
      - llseek locking fixes for sound/core/info.c
      - fixed ISA DMA allocation
      - added wait() callback for ac97_codec.c and VIA686 driver
      - CMIPCI driver updates
      - added AMD-8111 support for Intel8x0
      4fff2c1a
    • Jaroslav Kysela's avatar
      [PATCH] Patch - sharing RTC timer between kernel and user space (2nd) · dd56376d
      Jaroslav Kysela authored
      This patch to allow using of RTC timer inside the kernel space.  We can
      use the RTC timer as timing source for ALSA sequencer. Patch by Takashi.
      
      The patch adds these three functions and one structure to rtc.h and
      rtc.c:
      
      typedef struct rtc_task {
             void (*func)(void *private_data);
             void *private_data;
      } rtc_task_t;
      
      int rtc_register(rtc_task_t *task);
      int rtc_unregister(rtc_task_t *task);
      int rtc_control(rtc_task_t *t, unsigned int cmd, unsigned long arg);
      
      					Jaroslav
      dd56376d
    • Linus Torvalds's avatar
      7d06adb8
    • Dave Jones's avatar
      [PATCH] later DMI scan. · 9b1c51ab
      Dave Jones authored
      This moves the dmi scan to an earlier stage so that we can trap issues
      such as the various laptops that don't like enabling APIC.
      It's likely to be useful for trapping other similar early-boot problems.
      Originally by Mikael Pettersson
      9b1c51ab
    • Dave Jones's avatar
      [PATCH] un'fix' NCR scsi driver. · 3679a65c
      Dave Jones authored
      Linus,
       Current driver in your tree has been 'fixed' by someone without
      understanding just how broken it was. Numerous fixes were done in 2.4
      after the 2.5 split by Alan.
      
      This patch reverts the damage the driver does in your tree, and brings
      Alan's 2.4 bits over instead. Downside: It doesn't compile.
      Upside: It doesn't pretend to work and corrupt data, and at least
      is the right base for people to start fixing.
      3679a65c
    • Dave Jones's avatar
      [PATCH] Numerous address updates. · 0170bcbb
      Dave Jones authored
      Updated maintainers list from Ingo's last ping,
      various changed email addresses in code headers.
      0170bcbb
    • Dave Jones's avatar
      a3245879
    • Dave Jones's avatar
      [PATCH] kdev_t search/replaces. · 16d6f850
      Dave Jones authored
      First batch of various kdev_t related changes that have accumulated on
      linux-kernel, and some that got sent directly to me after you dropped them.
      
      Some of these need additional fixes to make them work, Some of them
      even to make them compile, but this is one step forward..
      
      I have bio-related fixes for some of these also, I'll push those seperately.
      16d6f850
    • Linus Torvalds's avatar
      Enable parport by default on x86 · 9c0c830c
      Linus Torvalds authored
      9c0c830c
  2. 25 Feb, 2002 1 commit
  3. 26 Feb, 2002 1 commit
  4. 25 Feb, 2002 8 commits