- 26 Feb, 2002 26 commits
-
-
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 12 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
-
Alexander Viro authored
Preparation to adding new method: new helper - shutdown_super(). It is cut from kill_super() and it had absorbed all actions done with superblock contents - now kill_super(s) is simply struct file_system_type *fs = s->s_type; if (!deactivate_super(s)) return; shutdown_super(s); put_filesystem(fs); and shutdown_super() is going to become a method.
-
Alexander Viro authored
Now remove_super() is called only from kill_super(). We move the code that closes device/drops reference to filesystem type from remove_super() into its caller.
-
Alexander Viro authored
* missing yield() added to grab_super() (on failure exit). Without that we have a nasty race - if get_sb_bdev() happens just before we grab ->s_umount in kill_super(), we are going to have get_sb_bdev() spinning indefinitely long without yielding CPU, so that kill_super() could make progress (and break the loop). * in kill_super() code that does actual superblock shutdown is wrapped in if (sb->s_root) {}. That condition is true for all old callers of kill_super(), so we don't change existing behaviour. * instances of deactivate_super()/remove_super() (after failed call of foo_fill_super()) are replaced with up_write(&s->s_umount); kill_super(s); - now it becomes legitimate (kill_super() works on such guys and does exactly what we want).
-
Linus Torvalds authored
-
Linus Torvalds authored
into penguin.transmeta.com:/home/penguin/torvalds/repositories/kernel/linux
-