- 28 Jul, 2002 23 commits
-
-
Andrew Morton authored
Alan's overcommit patch, brought to 2.5 by Robert Love. Can't say I've tested its functionality at all, but it doesn't crash, it has been in -ac and RH kernels for some time and I haven't observed any of its functions on profiles. "So what is strict VM overcommit? We introduce new overcommit policies that attempt to never succeed an allocation that can not be fulfilled by the backing store and consequently never OOM. This is achieved through strict accounting of the committed address space and a policy to allow/refuse allocations based on that accounting. In the strictest of modes, it should be impossible to allocate more memory than available and impossible to OOM. All memory failures should be pushed down to the allocation routines -- malloc, mmap, etc. The new modes are available via sysctl (same as before). See Documentation/vm/overcommit-accounting for more information."
-
Andrew Morton authored
Patch from Robert Love. Attached patch implements for_each_zone(zont_t *) which is a helper macro to cleanup code of the form: for (pgdat = pgdat_list; pgdat; pgdat = pgdat->node_next) { for (i = 0; i < MAX_NR_ZONES; ++i) { zone_t * z = pgdat->node_zones + i; /* ... */ } } and replace it with: for_each_zone(zone) { /* ... */ } This patch only replaces one use of the above loop with the new macro. Pending code, however, currently in the full rmap patch uses for_each_zone more extensively.
-
Andrew Morton authored
Patch from Robert Love. This patch implements for_each_pgdat(pg_data_t *) which is a helper macro to cleanup code that does a loop of the form: pgdat = pgdat_list; while(pgdat) { /* ... */ pgdat = pgdat->node_next; } and replace it with: for_each_pgdat(pgdat) { /* ... */ } This code is from Rik's 2.4-rmap patch and is by William Irwin.
-
Andrew Morton authored
Reorganise the members of struct page. - Place ->flags at the start so the compiler can generate indirect addressing rather than indirect+indexed for this commonly-accessed field. Shrinks the kernel by ~100 bytes. - Keep ->count with ->flags so they have the best chance of being in the same cacheline.
-
Andrew Morton authored
ifdef out some operations in pte_chain_lock() which are not necessary on uniprocessor.
-
Andrew Morton authored
Cleanup to show_free_areas() from Bill Irwin: show_free_areas() and show_free_areas_core() is a mess. (1) it uses a bizarre and ugly form of list iteration to walk buddy lists use standard list functions instead (2) it prints the same information repeatedly once per-node rationalize the braindamaged iteration logic (3) show_free_areas_node() is useless and not called anywhere remove it entirely (4) show_free_areas() itself just calls show_free_areas_core() remove show_free_areas_core() and do the stuff directly (5) SWAP_CACHE_INFO is always #defined, remove it (6) INC_CACHE_INFO() doesn't use the do { } while (0) construct This patch also includes Matthew Dobson's patch which removes mm/numa.c:node_lock. The consensus is that it doesn't do anything now that show_free_areas_node() isn't there.
-
Andrew Morton authored
Patch from Bill Irwin. It removes the custom pte_chain allocator in mm/rmap.c and replaces it with a slab cache. "This patch (1) eliminates the pte_chain_freelist_lock and all contention on it (2) gives the VM the ability to recover unused pte_chain pages Anton Blanchard has reported (1) from prior incarnations of this patch. Craig Kulesa has reported (2) in combination with slab-on-LRU patches. I've left OOM detection out of this patch entirely as upcoming patches will do real OOM handling for pte_chains and all the code changed anyway."
-
Andrew Morton authored
There are a few VM-related patches in this series. Mainly fixes; feature work is on hold. We have some fairly serious locking contention problems with the reverse mapping's pte_chains. Until we have a clear way out of that I believe that it is best to not merge code which has a lot of rmap dependency. It is apparent that these problems will not be solved by tweaking - some redesign is needed. In the 2.5 timeframe the only practical solution appears to be page table sharing, based on Daniel's February work. Daniel and Dave McCracken are working that. Some bits and pieces here: - list_splice() has an open-coded list_empty() in it. Use list_empty() instead. - in shrink_cache() we have a local `nr_pages' which shadows another local. Rename the inner one. (Nikita Danilov) - Add a BUG() on a can't-happen code path in page_remove_rmap(). - Tighten up the bug checks in the BH completion handlers - if the buffer is still under IO then it must be locked, because we unlock it inside the page_uptodate_lock.
-
Linus Torvalds authored
in the page cache, it needs to use page_cache_release() instead of plain "put_page()".
-
Ingo Molnar authored
the attached patch fixes two things: - a TLS related bug noticed by Arjan van de Ven: apm_init() should set up all CPU's gdt entries - just in case some code happens to call in the APM BIOS on the wrong CPU. This should also handle the case when some APM code gets triggered (by suspend or power button or something). - compilation problem
-
Trond Myklebust authored
Add support for the glibc 'd_type' field in cases where we have the READDIRPLUS file attribute information available to us in nfs_do_filldir().
-
Trond Myklebust authored
Add support for positive lookups using the READDIRPLUS cached information. Both new lookups and lookup revalidation is supported. Use READDIRPLUS instead of READDIR on NFSv3 directories with lengths shorter than 8*PAGE_SIZE. Note that inode attribute information is only updated if it is seen to be more recent than any existing cached information.
-
Trond Myklebust authored
Cache the information about whether or not the server supports READDIRPLUS.
-
Trond Myklebust authored
Cleanup for readdirplus. Allow the file attribute struct to set the NFS_READTIME(inode) to some value other than 'jiffies'.
-
Trond Myklebust authored
Cleanup for the readdirplus code. Make struct nfs_entry take pointers to the filehandle and file attributes.
-
Trond Myklebust authored
A patch by Charles Lever (Charles.Lever@netapp.com) that ensures the PG_uptodate bit gets set if an entire page gets written by nfs_writepage_sync().
-
Muli Ben-Yehuda authored
This patch replaces the cli/sti calls in the trident.c driver with spin_lock_irqsave/spin_unlock_irqrestore.
-
Muli Ben-Yehuda authored
This patch (1/2) brings the sound/oss/trident.c driver up to date with the driver in the 2.4-ac tree. It fixes the following bugs: * fix wrong cast in suspend/resume (Eric Lemar via Ian Soboroff) * fix bug where we would free with free_pages() memory allocated via pci_alloc_consistent(). * add a missing unlock on an error path. * rewrite the code to read/write registers of audio codecs for Ali5451 (Lei Hu) It also does various cleanups so that the code conforms to Documentation/CodingStyle and is nicer to work with.
-
bk://bkbits.ras.ucalgary.ca/rgooch-2.5Linus Torvalds authored
into home.transmeta.com:/home/torvalds/v2.5/linux
-
Richard Gooch authored
-
Oleg Nesterov authored
The gdt entry is consulted only while loading its index into the segment register. So load_TLS_desc(next, cpu) must be called before loading next->fs,next->gs in __switch_to().
-
Linus Torvalds authored
-
Christoph Hellwig authored
generic spinlock implementation for downgrade_write().
-
- 27 Jul, 2002 16 commits
-
-
Paul Mackerras authored
into samba.org:/home/paulus/kernel/for-linus-ppc
-
Paul Mackerras authored
into samba.org:/home/paulus/kernel/for-linus-ppc
-
Paul Mackerras authored
Since we have a signed 32-bit time_t, the fact that y % 4 == 0 will get it wrong in 2100 is irrelevant.
-
bk://bkbits.ras.ucalgary.ca/rgooch-2.5Linus Torvalds authored
into home.transmeta.com:/home/torvalds/v2.5/linux
-
Linus Torvalds authored
test, since it is needed regardless.
-
Alan Cox authored
We use the pci host lock so that we lock config space portably while handling the CMD640 config space via our own routines to avoid pci bios tripping CMD640 hardware stuff. We need to use this lock in order to ensure that we lock at a portable layer. Also add the 2.4.19 fixes for avoiding wrong probes, and the fix noted on the list.
-
Alan Cox authored
This should do the trick for pnpbios - we load the initial gdt into each gdt, and we load the parameters into the gdt of the cpu making the call relying on the spinlock to avoid bouncing cpu due to pre-empt
-
Matthew Wilcox authored
- Remove third argument from file_lock security op. Whether the lock is blocking or not cannot make any difference to a security module! - Fix the call in sys_flock to pass the translated lock command, not the original. - Add a call in fcntl_setlease. If they're going to know about two types of lock, let's tell them about the third too.
-
Andries E. Brouwer authored
The patch below does two things: (i) fixes a small bug in the new partition code This is the final chunk s/n/slot/. I'll refrain from giving a vi script. This is uncontroversial. (ii) removes ancient garbage concerning disk managers This may well be controversial. (Long ago, when disks became larger than 500 MB, lots of tricks were invented to keep DOS happy. Both hardware tricks and software tricks. One of the software tricks was the invention of boot managers. There have been many of those. The Linux kernel has had support for two of them: OnTrack Disk Manager and EZdrive. More precisely: there have been many versions of both OnTrack Disk Manager and EZdrive, and the kernel had support for a few of these versions. I think the time has come to remove the automatic support - every now and then it bites some innocent user, and the support is not really needed any longer, and the support is for outdated versions of these boot managers. No doubt it will turn out that users still exist that use some form of this stuff, but I would prefer to support them by explicit kernel boot parameters, rather than by code that guesses what might be the right thing to do. The patch below just rips out the old stuff. Depending on the screams this might provoke I expect to add some boot parameters.)
-
Ingo Molnar authored
This fixes a synchronize_irq() bug: if the interrupt is freed while an IRQ handler is running (irq state is IRQ_INPROGRESS) then synchronize_irq() will return early, which is incorrect. there was another do_IRQ() bug that in fact necessiated the bad code that caused the synchronize_irq() bug - we kept the IRQ_INPROGRESS bit set for not active interrupt sources - after they happen for the first time. Now the only effect this has is on i8259A irq handling - we used to keep these irqs disabled after the first 'spurious' interrupt happened. Now what the i8259A code really wants to do IMO is to keep the interrupt disabled if there is no handler defined for that interrupt source. The patch adds exactly this. I dont remember why this was needed in the first place (irq probing? avoidance of interrupt storms?), but with the patch the behavior should be equivalent.
-
William Lee Irwin III authored
Fix PMD typo
-
Anders Gustafsson authored
Added irq-argument to synchronize_irq to make sound/oss/cs46xx.c compile again.
-
Peter Osterlund authored
-
Ingo Molnar authored
the attached patch fixes the scheduler's migration thread startup bug that got unearthed by Rusty's recent CPU-startup enhancements. the fix is to let a startup-helper thread migrate the migration thread, instead of the migration thread calling set_cpus_allowed() itself. Migrating a not running thread is a simple and robust thing, and needs no cooperation from migration threads - thus the catch-22 problem of how to migrate the migration threads is solved finally. the patch is against Rusty's initcall fix/hack which calls migration_init() before other CPUs are brought up - this ordering is clearly the clean way of doing migration init. [the patch also fixes a UP compiliation bug in Rusty's hack.]
-
Rusty Russell authored
As pointed out by Andrew Morton, this fixes: softirq.c: In function `spawn_ksoftirqd': softirq.c:416: warning: statement with no effect
-
Rusty Russell authored
This patch fixes the calls to initialize ksoftirqd and the migration threads. This really should be done by the initcall depends patch.
-
- 28 Jul, 2002 1 commit
-
-
Guido Barzini authored
The check in do_alignment_ldmstm for addr and eaddr being the same is #ifdef'd out for the ARM922T because they aren't expected to be the same due to the different way the MMU sets addr. The ARM920T is just a 922T with more cache, and should be treated the same. I've checked on a real ARM920T and it does complain loudly every time it fixes up a misaligned ldm/stm unless this patch is applied. I suspect that the ARM926 should be treated the same way as well, but I can't find any relevant documentation on ARM's web-site, so have left it out.
-