- 19 Jan, 2004 40 commits
-
-
Paul Mackerras authored
This patch arranges for the exception tables to be sorted on most architectures. It sorts the main kernel exception table on startup and the module exception tables when they get loaded. The main table is sorted reasonably early - just after kmem_cache_init - but that could be moved even earlier if necessary. There is now a lib/extable.c which includes the sort_extable() function from arch/ppc/mm/extable.c and the search_extable() function from arch/i386/mm/extable.c, which had been copied to many architectures. On many architectures, arch/$(ARCH)/mm/extable.c became empty and so I have removed it. There are four architectures which do things differently from i386: alpha, ia64, sparc and sparc64. Alpha and ia64 store the offset from the offset from the exception table entry to the instruction, and sparc and sparc64 have range entries in the table. For those architectures I have added empty sort_extable functions. The maintainers for those architectures can implement something better if they care to. As it is they are no worse off than before. Although it is a moderately sizable patch, it ends up with a net reduction of 377 lines in the size of the kernel source. :) I have tested this on x86 and ppc with a module that uses __get_user in an init function, deliberately laid out to get the exception table out of order, and it works (whereas it oopsed without this patch).
-
Andrew Morton authored
This went missing somewhere. Here's a patch which puts it back.
-
Bartlomiej Zolnierkiewicz authored
Sanitize 66MHz clock use: "enable" 66MHz clock before starting UDMA3/4/5 read/write transfer and "disable" it after finishing transfer. - fixes timings for non-UDMA3/4/5 operations (correct 33MHz timings are used) - allows using UDMA3/4/5 modes on a capable drive even if non-UDMA3/4/5 drive is present on the same channel - fixes corner case when one drive on the channel was using UDMA66/100 + LBA48 (so clock was enabled/disabled for each read/write) and other one was using UDMA66/100 + LBA28, it could happen that request on LBA48 drive disabled 66MHz clock and it was not enabled for the next transfer on LBA28 drive
-
Bartlomiej Zolnierkiewicz authored
drive->id is now always present even if no device is attached, therefore check for drive->present instead.
-
Bartlomiej Zolnierkiewicz authored
This fixes bugzilla bug #1431. Always tune controller PIO timings. This fixes lockup during PIO access (ie. 'cat /proc/ide/hda/identify') when Promise BIOS is disabled.
-
bk://kernel.bkbits.net/gregkh/linux/i2c-2.6Linus Torvalds authored
into home.osdl.org:/home/torvalds/v2.5/linux
-
bk://linux-scsi.bkbits.net/scsi-for-linus-2.6Linus Torvalds authored
into home.osdl.org:/home/torvalds/v2.5/linux
-
bk://kernel.bkbits.net/gregkh/linux/driver-2.6Linus Torvalds authored
into home.osdl.org:/home/torvalds/v2.5/linux
-
Linus Torvalds authored
The config entries etc were already removed earlier.
-
Andrew Morton authored
From: Chris Mason <mason@suse.com> The v3 reiserfs_file_write func doesn't do any write throttling, which leads to a variety of problems. Here's a patch that makes reiserfs_file_write call balance_dirty_pages_ratelimited, and exports that func for module usage.
-
Andrew Morton authored
Remove now-unused 2.4 back-compat code.
-
Andrew Morton authored
gcc miscompiles this. Scary.
-
Andrew Morton authored
- A couple of them are using alloca (via DECLARE_BITMAP) and this generates a cannot-inline warning with -Winline. - These functions are too big to inline anwyay.
-
Andrew Morton authored
From: Andries.Brouwer@cwi.nl Remove obsolete CLONE_DETACHED
-
Andrew Morton authored
From: Sam Ravnborg <sam@ravnborg.org> Modify MAINTAINERS to reflect the reality in maintainership for kbuild. This is ack'ed with Michael Elizabeth Chastain and Kai Germaschewski. I removed the list and web-site since they are not actively used today.
-
Andrew Morton authored
From: risto.sandvik@helsinki.fi Everything freezes when trying to play sounds using the alsa driver opl3sa2 (kernel supplied or 1.0.0rc2) on an Acer Extensa series laptop with the Ali M1533 PCI to ISA bridge. Problem exists both in the 2.6 and 2.4 series of kernels. Adding AL_M1533 to drivers/pci/quirks.c fixes the problem for both. This has been a known problem since 2.2.x (see http://www.mfn.unipmn.it/~sitta/linux503.html)
-
Andrew Morton authored
From: David Howells <dhowells@redhat.com> Here's a patch to improve the AFS linux support. It: (1) Includes Pete's patch to skip the colon in the volume name, compile directly into the kernel, and not try to access non-existent caching routines. (2) Changes if (...) BUG() to BUG_ON() (3) Gets rid of typedefs. (4) Changes list_for_each() into list_for_each_entry(). (5) Adds more whitespace and wraps lines to please the CodingStyle sticklers.
-
Andrew Morton authored
From: David Howells <dhowells@redhat.com> Here's a patch to fix some bugs in my RxRPC code, including the fix for the transport initialisation failure recovery spotted by Pete Zaitcev. It also inserts some extra spaces in a few places.
-
Andrew Morton authored
From: Jes Sorensen <jes@trained-monkey.org> The included patch removes the usage of weak symbols from sgiioc4.c now that we have the Kconfig issue sorted as well as cleans up the error no handling (instead of return 1 on error) and adds a check for the return value on snia_pci_endian_set as suggested by Christoph.
-
Andrew Morton authored
From: James Morris <jmorris@redhat.com> AFS has an unused strdup() implementation.
-
Andrew Morton authored
From: Xavier Bestel <xavier.bestel@free.fr> Within the body of this macro we are accessing rq->bio, but `bio' is an arg to the macro. If someone uses this macro with some variable which is not named `bio' it won't compile. So use a more-likely-to-be-unique identifier for the macro.
-
Andrew Morton authored
From: Jeff Muizelaar <muizelaar@rogers.com> The attached patch lets the seq_file api take care of buffer allocation instead of doing it by hand.
-
Andrew Morton authored
From: Matt Mackall <mpm@selenic.com> Experimenting with trying to use cond_syscall for a few arch-specific syscalls, I discovered that it can't actually be used outside the file in which sys_ni_syscall is declared because the assembler doesn't feel obliged to output the symbol in that case: weak.c: #define cond_syscall(x) asm(".weak\t" #x "\n\t.set\t" #x ",sys_ni_syscall"); cond_syscall(sys_foo); $ nm weak.o U sys_ni_syscall One arch (PPC) is apparently trying to use cond_syscall this way anyway, though it's probably never been actually tested as the above test was done on a PPC. After trying a bunch of tricks to get it to work nicely, I decided there are basically two alternatives: make weak versions of sys_ni_syscall wherever they're wanted or put the arch-specific cond_syscalls in kernel/sys.c where sys_ni_syscall is defined. The former approach is a bit crufty and doesn't actually do the right thing in practice as you'll get multiple copies of sys_ni_syscall in your final image. The latter introduces some slight arch-pollution in sys.c, but as arch-specific cond_syscalls aren't all that frequent, it should be pretty minor. So here's a patch to move the current offender to sys.c:
-
Andrew Morton authored
From: Jes Sorensen <jes@trained-monkey.org> The following patch removes a couple of null-ilizers of global variables. Not a big deal, but every byte helps in the .data segment ;-)
-
Andrew Morton authored
From: Roland McGrath <roland@redhat.com> Julie DeWandel noticed that in the error case where elf_map has failed, load_elf_interp will (at the out_close: label) return the `error' variable, but that will contain the result of a prior operation and not the error number from elf_map.
-
Andrew Morton authored
From: David Sanders <linux@sandersweb.net> Patch adds support for another pnp modem in 2.6 kernel.
-
Andrew Morton authored
From: Joe Korty <joe.korty@ccur.com> task_running(rq,p) is equivalent to (rq->curr == p) only for some architectures.
-
Andrew Morton authored
- It's using & where it meant to use &&. (Randy Dunlap) - It has two callsites - uninline it.
-
Andrew Morton authored
From: Adrian Bunk <bunk@fs.tum.de> four months ago, Rolf Eike Beer <eike-kernel@sf-tec.de> sent a patch against 2.6.0-test5-bk1 that converted several if ... BUG() to BUG_ON() This might in some cases result in slightly faster code because BUG_ON() uses unlikely().
-
Andrew Morton authored
From: David Mosberger <davidm@napali.hpl.hp.com> With gcc-3.4 we need "attribute((used))" declarations to get "make modules_install" to work. Otherwise these sections get dropped from the final image (I assume).
-
Andrew Morton authored
From: David Mosberger <davidm@napali.hpl.hp.com> There is some EFI-related code which is present in the ia64 build but is not needed: variable efi_enabled is always zero. The patch fiddles with the efi_enabled definition to arrange for `efi_enabled' to be constant zero or constant one in those situations where this can be guaranteed.
-
Andrew Morton authored
The test for whether an inode is using journalled, ordered or writeback data is incorrect and can lead to ext3_set_aops() giving the inode the wrong set of address_space_operations. Fix. (Spotted by Jan Kara).
-
Andrew Morton authored
From: Christoph Hellwig <hch@lst.de> Currently xfs has a per-bdev (and XFS filesystem uses up to three underlying block devices) object that Al complained about loudly that it should be gone. But for that to happen without rewriting half of XFS (and changing layering in a way that we don't really want) we need an additional fs-private variable in struct block_device.
-
Andrew Morton authored
From: mark@borgerding.net Access times of tmpfs dirs do not get updated on readdir. This can cause empty dirs to get tmpwatch'd too early, b/c atime never changes even though the dir is in use.
-
Andrew Morton authored
From: Anton Blanchard <anton@samba.org>, me. Two uses of the FIXADDR_USER_START/END things are problematic: a) ppc64 wants the FIXADDR area to be at a different location on 32bit and 64bit tasks. On 32bit we want it just below 4GB but that gets in the way on 64bit. By putting both right at -(some small amount) we can also use some ppc tricks to get there real quickly (single instruction branches). b) We assume that FIXADDR_USER_START and FIXADDR_USER_END are constants. This breaks the UML build. Fixes: - Call it all gate. We currently have half the stuff called fixmap and the other gate, lets be consistent. - Create in_gate_area(), get_gate_vma() and use it in both places - Provide defaults for in_gate_area/get_gate_vma, allowing an arch to override it. (I used CONFIG_* but am open to better suggestions here) - The /proc/pid/maps vma wasnt marked readable but the get_user vma was. That sounds suspicious to me, they are now both the same VMA and so have the same (read,exec) permissions
-
Andrew Morton authored
From: Ivan Kokshaysky <ink@jurassic.park.msu.ru> When CONFIG_SMP is not set, spinlock_t is an empty structure, so its address has arbitrary alignment. The prefetch instructions with unaligned address don't have visible side effects on alphas with SRM console (except performance degradation) - the PALcode handles unaligned traps caused by prefetch instructions internally. However, on old AlphaBIOS/MILO boxes unaligned prefetch leads to unhandled alignment trap and kernel panic.
-
Andrew Morton authored
From: Pavel Machek <pavel@ucw.cz> This adds proper suspend/resume support for PIT. That means that clock are actually correct after suspend/resume.
-
Andrew Morton authored
From: Dominik Brodowski <linux@dominikbrodowski.de> Too many users use the p4-clockmod cpufreq driver instead of the more advanced speedstep-centrino, speedstep-ich or even acpi drivers. All of the latter (usually) provide voltage scaling, while the p4-clockmod driver only offers a variant of frequency scaling. So, warn users if they try out this driver instead. Also, instead of using a local copy, use the speedstep_lib infrastructure for detecting the processor speed. Adding the Pentium-M get_frequency function to that module only costs about 200 bytes in object size.
-
Andrew Morton authored
From: Sam Ravnborg <sam@ravnborg.org> If the user decides to not write the config file out, menuconfig exits with a non-zero code. This causes make to allege that there was an error.
-
Andrew Morton authored
From: Trond Myklebust <trond.myklebust@fys.uio.no> The following reversion is what fixes my regression. That puts the sequential read numbers back to the 2.6.0 values of ~140MB/sec (from the current 2.6.1 values of 14MB/second)... We were triggering I/O of the `ahead' when we hit the last page in the `current' window. That's bad because it gives no pipelining at all. So go back to full pipelining. It's not at all clear why this change made a 10x difference in NFS throughput.
-