- 26 Feb, 2002 31 commits
-
-
Linus Torvalds authored
-
Neil Brown authored
Enable NFS over TCP via config option
-
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.
-
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.
-
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).
-
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.
-
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.
-
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.
-
Neil Brown authored
Get sunrpc to use module_init properly rpc_register_sysctl was called in several places. Now only once.
-
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.
-
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.
-
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.
-
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.
-
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.
-
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).
-
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.
-
Neil Brown authored
Fix include file so syscall compiles when NFSD not configured
-
Linus Torvalds authored
into penguin.transmeta.com:/home/penguin/torvalds/repositories/kernel/linux
-
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.
-
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.)
-
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
-
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
-
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
-
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
-
Linus Torvalds authored
-
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
-
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.
-
Dave Jones authored
Updated maintainers list from Ingo's last ping, various changed email addresses in code headers.
-
Dave Jones authored
From 2.4.17
-
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.
-
Linus Torvalds authored
-
- 25 Feb, 2002 1 commit
-
-
Linus Torvalds authored
into penguin.transmeta.com:/home/penguin/torvalds/repositories/kernel/linux
-
- 26 Feb, 2002 1 commit
-
-
Ingo Molnar authored
-
- 25 Feb, 2002 7 commits
-
-
Alexander Viro authored
OK, here's ->d_parent stuff unrelated to printk. Looking into printk right now...
-
Alexander Viro authored
Protect d_parent with "dparent_lock", making ready to get rid of BKL for d_move().
-
Rusty Russell authored
[Alan: also applies to 2.2.x] William Stearns: linux/fs/file.c comment fix
-
Alexander Viro authored
Patch below does the following: * removes dead code from wanproc.c. When file looks like #ifdef LINUX_2_4 <800 lines> #else <900 lines> #endif there's no excuse for keeping all that junk around. * switches wanproc.c to use of seq_file * removes dead code from wanmain.c (again, dead == never seen by cc1). * fixes indentation in both * removes buttloads of trailing spaces in these files, while we are at it. See if it's OK with you...
-
http://linux-isdn.bkbits.net/linux-2.5.isdnLinus Torvalds authored
into penguin.transmeta.com:/home/penguin/torvalds/repositories/kernel/linux
-
Kai Germaschewski authored
into vaio.(none):/home/kai/kernel/linux-2.5.isdn
-
Kai Germaschewski authored
into vaio.(none):/home/kai/kernel/linux-2.5.isdn
-