- 23 Mar, 2003 3 commits
-
-
Alan Cox authored
This fixes one of the long standing IDE hangs on SMP. If you get an error we disable the IRQ, unfortunately we may be in the IRQ handler This change gets us back working but does introduce a small potential race I need to investigate further and fix up in a nicer fashion. IDE should do error handling in a seperate context (as SCSI does) but not for 2.6.
-
Linus Torvalds authored
both ways, but anal compilers will warn about using identifiers that have never been defined in preprocessor expression statements.
-
bk://kernel.bkbits.net/davem/net-2.5Linus Torvalds authored
into home.transmeta.com:/home/torvalds/v2.5/linux
-
- 22 Mar, 2003 37 commits
-
-
David S. Miller authored
into kernel.bkbits.net:/home/davem/net-2.5
-
Bart De Schuymer authored
-
David S. Miller authored
-
Hideaki Yoshifuji authored
-
James Morris authored
-
Jon Grimm authored
-
Tom Lendacky authored
-
Chas Williams authored
-
Chas Williams authored
-
James Morris authored
-
Chas Williams authored
-
David S. Miller authored
into nuts.ninka.net:/home/davem/src/BK/net-2.5
-
David S. Miller authored
into kernel.bkbits.net:/home/davem/sparc-2.5
-
David S. Miller authored
-
Ben Collins authored
-
David S. Miller authored
-
David S. Miller authored
-
David S. Miller authored
-
David S. Miller authored
-
David S. Miller authored
-
David S. Miller authored
-
David S. Miller authored
-
David S. Miller authored
-
Andrew Morton authored
Spotted by Dawson Engler. recalc_signpending() needs tsk->sighand->siglock.
-
Andrew Morton authored
It seems pretty pointless and people do complain about it occasionally.
-
Andrew Morton authored
From: Robert Love <rml@tech9.net> Additional work to make syscalls return longs.
-
Andrew Morton authored
From: "Randy.Dunlap" <randy.dunlap@verizon.net> Fix up various syscalls to return longs, as x86_64 and ia64 (at least) require.
-
Andrew Morton authored
From: Adrian Bunk <bunk@fs.tum.de> I got a .exit.text error in 2.5.65. The problem is that in sound/oss/awe_wave.c the __init function _attach_awe calls the __exit function awe_release_region. The following patch that removes the __exit from awe_release_region fixes it.
-
Andrew Morton authored
- Add some commentary to this function - Add a mutex to prevent new callers of sync_filesytems() from DoSing currently-running caller.
-
Andrew Morton authored
From: Dipankar Sarma <dipankar@in.ibm.com> This patch makes the list macros use smp-only version of the barriers, no need to hurt UP performance.
-
Andrew Morton authored
ext3_writepage() calls ext3_journal_stop(), which dereferences the affected inode. It does this _after_ writing the page out, which is illegal. The IO can complete, the page can be repeased from the inode and the inode can be freed up. It's a long-standing bug. It has been reported happening on preemptible kernels, where the timing window is larger. Fix that up by teaching ext3_journal_stop to locate the superblock via the journal structure, not via the inode. This means that ext3_journal_stop() does not need the inode argument at all. Also uninline the affected functions. It saves 5.5 kbytes. Also remove the setting of sb->s_dirt in ext3_journal_stop(). That was an awkward way of telling sys_sync() that the filesystem needs a commit, and with the ext3_sync_fs() that is no longer needed.
-
Andrew Morton authored
From: Alex Tomas <bzzz@tmi.comex.ru> This is the second half of the vm_enough_memory() speedup. When overcommit_memory != 1, vm_enough_memory() calls get_page_state() to calculate the amount of used pagecache. It does this on every call to sys_brk(). get_page_state() is really expensive on SMP. So the patch arranges for pagecache accounting to be in a global atomic_t, with per-cpu batching and approximate accounting to amortise the cost of the global atomic. The nr_pagecache field of /proc/vmstat is removed.
-
Andrew Morton authored
From: george anzinger <george@mvista.com> The recently-added code which avoids a lockup when a timer handler re-adds the timer right now can be simplified. If we change __run_timers() to increment base->timer_jiffies _before_ running the timers, then any re-additions will not be inserted in the list which __run_timers is presently walking.
-
Andrew Morton authored
From: george anzinger <george@mvista.com> Remove the `index' field from the timer structures. It contains the same info as the timer_jiffies field. So just use the base->timer_jiffies field directly.
-
Andrew Morton authored
Patch from Andries.Brouwer@cwi.nl The third patch removes the last occurrences of MAX_BLKDEV and MAX_CHRDEV and sorts the majors in major.h. It also updates the definition of SCSI_DISK_MAJOR.
-
Andrew Morton authored
Patch from Andries.Brouwer@cwi.nl The actual patch for today is this part. I already quoted most of this on the list earlier this week. In order not to have to change all drivers, I did +int register_chrdev(unsigned int major, const char *name, + struct file_operations *fops) +{ + return register_chrdev_region(major, 0, 256, name, fops); +} so that the old register_chrdev registers a single major and 256 minors. Later this can be changed (but see my letter to Al last week). The only driver that is tricky is the tty driver. Here some major cleanup happened - all tty specific stuff disappeared from char_dev.c, and tty uses the actual register_chrdev_region() call. There is a race in register_chrdev_region() that I did not worry about: when two dynamic majors 0 are registered simultaneously, one of them will be first and the other one gets -EBUSY. If this is a problem, the code there will have to be uglified a little. I didn't do that because it disappears again in a subsequent patch.
-
Andrew Morton authored
Patch from Andries.Brouwer@cwi.nl Now that 2.5.65 is out, the next dev_t patch. It was a bit large and unreadable, so I split it into three clean pieces. Afterwards, since many people ask for this, a fourth patch that actually changes the type of dev_t (not to be applied yet, that is just for playing). The first patch is the cdev-kill patch that I sent out earlier. It is no use having two forms of chardev registration in the source, and my version of the path of small modifications does not pass through this version, although the final result will not be that different. So, kill cdev_cachep, cdev_cache_init, cdfind, cdget, cdput, inode->i_cdev, struct char_device. All of this is dead code today. The second patch removes MAX_CHRDEV. The third patch polishes linux/major.h.
-