An error occurred fetching the project authors.
- 02 Dec, 2003 1 commit
-
-
Linus Torvalds authored
-
- 15 Oct, 2003 1 commit
-
-
Andi Kleen authored
vm86 mode does a copy_to_user from the general protection fault handler to update the process' vm86 state. The problem is that the full GFP handler runs with interrupts off currently and that trips the might_sleep() test in copy_to_user(). This happens very often in dosemu and once in a while while the X server does its vm86 magic with the VGA bios. See http://bugzilla.kernel.org/show_bug.cgi?id=1339 for details This patch fixes this by enabling interrupts when the original code ran with interrupts on or ran in vm86 mode (vm86 can clear the IF flag)
-
- 09 Oct, 2003 1 commit
-
-
Andi Kleen authored
This is the latest iteration of the workaround for the Athlon/Opteron prefetch erratum. Sometimes the CPU would incorrectly report an exception on prefetch. This supercedes the previous dumb workaround of checking for AMD CPUs in prefetch(). That one bloated the kernel by several KB and lead to lots of unnecessary checks in hot paths. Also this one handles user space faults too, so the kernel can effectively isolte the user space from caring about this errata. Instead it handles it in the slow path of the exception handler (the check is only done when the kernel would normally trigger seg fault or crash anyways) All the serious criticisms to the previous patches have been addressed. It checks segment bases now, handles vm86 mode and avoids deadlocks when the prefetch exception happened inside mmap_sem. This includes review and fixes from Jamie Lokier and Andrew Morton. Opcode decoder based on code from Richard Brunner.
-
- 07 May, 2003 2 commits
-
-
Andrew Morton authored
From: Dave Hansen <haveblue@us.ibm.com>, Bill Irwin With PAE on, there are only 4 PGD entries. The kernel ones never change, so there is no need to copy them when a vmalloc fault occurs. This was this was causing problems with the split pmd patches, but it is still correct for mainline. Tested with and without PAE. I ran it in a loop turning on and off 10 swap partitions, which is what excited the original bug. http://bugme.osdl.org/show_bug.cgi?id=640
-
Andrew Morton authored
From: Manfred Spraul <manfred@colorfullife.com> Real 80386 cpus ignore the write protected bit in the page tables when running in supervisory mode. Thus the write protected bit must be checked by software. The current implementation does that check during access_ok(). This can result in data corruptions, if kswapd starts a swap-out between the access_ok and the actual write operation. To fix this, the patch moves the check from access_ok() into __copy_to_user_ll(), and redirects all user space writes into __copy_to_user_ll(). The patch only affects kernels build for 80386 cpus. Additionally, the patch removes the dead prototypes for __put_user_{1,2,4,8}. Due to the uninlining of access_ok, the .text segment is now ~ 8 kB shorter.
-
- 06 Mar, 2003 1 commit
-
-
Andrew Morton authored
Patch from Dave Hansen <haveblue@us.ibm.com> __pgd_offset() and pgd_offset() are completely different functions. __pgd_offset() is really just a helper to figure out which entry in a pgd an address would fall into. pgd_offset() does all the leg work and actually fetches the real pgd entry. pgd_index() is a much saner name for what __pgd_offset() does. In fact, we do this: #define __pgd_offset(address) pgd_index(address) The attached patch removes all instances of __pgd_offset and just replaces them with pgd_index. Compiles with and without PAE on x86.
-
- 13 Jan, 2003 1 commit
-
-
Brian Gerst authored
Check for PnP BIOS in all fault paths, not just in do_trap().
-
- 05 Jan, 2003 1 commit
-
-
Rusty Russell authored
This patch combines the common exception table searching functionality for various architectures, to avoid unneccessary (and currently buggy) duplication, and so that the exception table list and lock can be kept private to module.c. The archs provide "struct exception_table" and "search_extable": the generic infrastructure drives the rest.
-
- 15 Dec, 2002 1 commit
-
-
Randy Dunlap authored
Moves console_loglevel & friends to an array, as sysctl expects.
-
- 29 Oct, 2002 1 commit
-
-
Brian Gerst authored
This patch does a few cleanups/fixes with __verify_write: - Only compile it when needed. - Move test for KERNEL_DS out of line. - The mmap semaphore is needed to access the vma list. - Use fixmap for the WP test. - Removes an obsolete comment in fixmap.h
-
- 29 Sep, 2002 1 commit
-
-
Ingo Molnar authored
This is the smptimers patch plus the removal of old BHs and a rewrite of task-queue handling. Basically with the removal of TIMER_BH i think the time is right to get rid of old BHs forever, and to do a massive cleanup of all related fields. The following five basic 'execution context' abstractions are supported by the kernel: - hardirq - softirq - tasklet - keventd-driven task-queues - process contexts I've done the following cleanups/simplifications to task-queues: - removed the ability to define your own task-queue, what can be done is to schedule_task() a given task to keventd, and to flush all pending tasks. This is actually a quite easy transition, since 90% of all task-queue users in the kernel used BH_IMMEDIATE - which is very similar in functionality to keventd. I believe task-queues should not be removed from the kernel altogether. It's true that they were written as a candidate replacement for BHs originally, but they do make sense in a different way: it's perhaps the easiest interface to do deferred processing from IRQ context, in performance-uncritical code areas. They are easier to use than tasklets. code that cares about performance should convert to tasklets - as the timer code and the serial subsystem has done already. For extreme performance softirqs should be used - the net subsystem does this. and we can do this for 2.6 - there are only a couple of areas left after fixing all the BH_IMMEDIATE places. i have moved all the taskqueue handling code into kernel/context.c, and only kept the basic 'queue a task' definitions in include/linux/tqueue.h. I've converted three of the most commonly used BH_IMMEDIATE users: tty_io.c, floppy.c and random.c. [random.c might need more thought though.] i've also cleaned up kernel/timer.c over that of the stock smptimers patch: privatized the timer-vec definitions (nothing needs it, init_timer() used it mistakenly) and cleaned up the code. Plus i've moved some code around that does not belong into timer.c, and within timer.c i've organized data and functions along functionality and further separated the base timer code from the NTP bits. net_bh_lock: i have removed it, since it would synchronize to nothing. The old protocol handlers should still run on UP, and on SMP the kernel prints a warning upon use. Alexey, is this approach fine with you? scalable timers: i've further improved the patch ported to 2.5 by wli and Dipankar. There is only one pending issue i can see, the question of whether to migrate timers in mod_timer() or not. I'm quite convinced that they should be migrated, but i might be wrong. It's a 10 lines change to switch between migrating and non-migrating timers, we can do performance tests later on. The current, more complex migration code is pretty fast and has been stable under extremely high networking loads in the past 2 years, so we can immediately switch to the simpler variant if someone proves it improves performance. (I'd say if non-migrating timers improve Apache performance on one of the bigger NUMA boxes then the point is proven, no further though will be needed.)
-
- 25 Aug, 2002 1 commit
-
-
Linus Torvalds authored
-
- 10 Aug, 2002 1 commit
-
-
Andrew Morton authored
Well the optimum solution there would be to create and use `inc_preempt_count_non_preempt()'. I don't see any way of embedding this in kmap_atomic() or copy_to_user_atomic() without loss of flexibility or incurring a double-inc somewhere.
-
- 26 Jul, 2002 1 commit
-
-
Ingo Molnar authored
This updates the F00F bug workaround code to the IDT changes in the TLS patch. Tested it on a non-Pentium box on which i triggered the workaround artificially.
-
- 21 Jul, 2002 1 commit
-
-
Ingo Molnar authored
This is a massive cleanup of the IRQ subsystem. It's losely based on Linus' original idea and DaveM's original implementation, to fold our various irq, softirq and bh counters into the preemption counter. with this approach it was possible: - to remove the 'big IRQ lock' on SMP - on which sti() and cli() relied. - to streamline/simplify arch/i386/kernel/irq.c significantly. - to simplify the softirq code. - to remove the preemption count increase/decrease code from the lowlevel IRQ assembly code. - to speed up schedule() a bit. Global sti() and cli() is gone forever on SMP, there is no more globally synchronizing irq-disabling capability. All code that relied on sti() and cli() and restore_flags() must use other locking mechanisms from now on (spinlocks and __cli()/__sti()). obviously this patch breaks massive amounts of code, so only limited .configs are working at the moment (UP is expected to be unaffected, but SMP will require various driver updates). The patch was developed and tested on SMP systems, and while the code is still a bit rough in places, the base IRQ code appears to be pretty robust and clean. while it boots already so the worst is over, there is lots of work left: eg. to fix the serial layer to not use cli()/sti() and bhs ...
-
- 04 Jul, 2002 1 commit
-
-
Andrew Morton authored
This is Bill Irwin's cleanup patch which gives symbolic names to the fault types: #define VM_FAULT_OOM (-1) #define VM_FAULT_SIGBUS 0 #define VM_FAULT_MINOR 1 #define VM_FAULT_MAJOR 2 Only arch/i386 has been updated - other architectures can do this too.
-
- 15 Mar, 2002 1 commit
-
-
Brian Gerst authored
This changes the F00F bug workaround code to use the fixmap facilities instead of touching the page tables directly. It also removes the assumption that only 686's don't have the bug. I have confirmation that the patch works on buggy pentiums.
-
- 19 Feb, 2002 1 commit
-
-
Ingo Molnar authored
adds simple support for atomically-mapped PTEs. On highmem systems this enables the allocation of the pagetables in highmem.
-
- 18 Feb, 2002 1 commit
-
-
Andrew Morton authored
Here's the x86 BUG() implementation we discussed the other day. I also have the rework of the header files which avoids instantiation of strings in headers and saves 100-200k. However that is only needed for gcc 2.X. I assume that by the time 2.6 is in use, gcc-3.x will be the preferred compiler.
-
- 05 Feb, 2002 10 commits
-
-
Linus Torvalds authored
- Kai Germaschewski: ISDN updates - Al Viro: start moving buffer cache indexing to "struct block_device *" - Greg KH: USB update - Russell King: fix up some ARM merge issues - Ingo Molnar: scalable scheduler
-
Linus Torvalds authored
- Jeff Garzik: net driver updates - me: symlink attach fix - Greg KH: USB update - Rui Sousa: emu10k driver update
-
Linus Torvalds authored
- Alan Cox: much more merging - Pete Zaitcev: ymfpci race fixes - Andrea Arkangeli: VM race fix and OOM tweak. - Arjan Van de Ven: merge RH kernel fixes - Andi Kleen: use more readable 'likely()/unlikely()' instead of __builtin_expect() - Keith Owens: fix 64-bit ELF types - Gerd Knorr: mark more broken PCI bridges, update btaudio driver - Paul Mackerras: powermac driver update - me: clean up PTRACE_DETACH to use common infrastructure
-
Linus Torvalds authored
- Neil Brown: md cleanups/fixes - Andrew Morton: console locking merge - Andrea Arkangeli: major VM merge
-
Linus Torvalds authored
- Merge with Alan - Trond Myklebust: NFS fixes - kmap and root inode special case - Al Viro: more superblock cleanups, inode leak in rd.c, minix directories in page cache - Paul Mackerras: clean up rubbish from sl82c105.c - Neil Brown: md/raid cleanups, NFS filehandles - Johannes Erdfelt: USB update (usb-2.0 support, visor fix, Clie fix, pl2303 driver update) - David Miller: sparc and net update - Eric Biederman: simplify and correct bootdata allocation - don't overwrite ramdisks - Tim Waugh: support multiple SuperIO devices, parport doc updates
-
Linus Torvalds authored
- David Miller: network syncup (better TCP page fault handling by Andrea etc) - Tim Hockin: moxa driver fixes - Alexander Viro: clean up process reaping procedures, make /proc use the proper fields to notice that the process is gone, gone, gone. - Justin Gibbs: aic7xxx driver update to 6.1.13. - me: fix PCI allocation so that it doesn't stomp on unknown memory - Jeff Garzik: 8139too net drvr fix - Nigel Gamble: merge page fault interrupt gate from preemtible kernel. Fixes problem noticed by Brian Gerst. - Jean Tourrilhes: Orinoco / Airport support diff. Mucho cleanups.
-
Linus Torvalds authored
- Al Viro: clean up driver "invalidate_device()" mess - Andries Brouwer: make sd.c work with USB Dane-Elec CompactFlash Card Reader - me: fix nasty lazy kernel page table update problem - me: undo fork changes. Too many user-level bugs and unresolved issues. - Peter Anvin: iso9660 cleanups - Alan Cox: big merge - Johannes Erdfelt: UHCI pci DMA setup fix
-
Linus Torvalds authored
- Rik van Riel and others: mm rw-semaphore (ps/top ok when swapping) - IDE: 256 sectors at a time is legal, but apparently confuses some drives. Max out at 255 sectors instead. - Petko Manolov: USB pegasus driver update - make the boottime memory map printout at least almost readable. - USB driver updates - pte_alloc()/pmd_alloc() need page_table_lock.
-
Linus Torvalds authored
- big S/390x 64-bit merge - typos and license name fixes. doc updates. - more include file cleanups (phase out "malloc.h") - even more elevator corner cases.. When not merging, find the best insertion point. - pmac ide update - network fixes (netif_wake_queue on tx timeout) - USB printer select() fix - NFS client missed initialization, deamon fixed client address check
-
Linus Torvalds authored
-