- 20 Sep, 2002 1 commit
-
-
Ingo Molnar authored
the attached patch (against BK-curr) fixes a bug in the new PID allocator, which bug can cause incorrect hashing of the PID structure which causes infinite loops in find_pid(). [and potentially other problems.]
-
- 19 Sep, 2002 28 commits
-
-
Linus Torvalds authored
into home.transmeta.com:/home/torvalds/v2.5/linux
-
Andrew Morton authored
Patch from Rohit Seth: allow hugetlb pages to be allocated from the highmem zone.
-
Andrew Morton authored
From Marcus Alanen <maalanen@ra.abo.fi> Don't retake the zone lock after spilling a batch of pages into the buddy. Instead, just clear local variable `zone' to indicate that no lock is held. This is actually a common case - whenever release_pages() is called with exactly 16 pages (truncate, page reclaim..) Marcus' patch will save a lock and an unlock. Also, remove some lock-avoidance heuristics in pagevec_deactivate_inactive(): the caller has already made these checks, and the chance of the check here actually doing anything useful is negligible.
-
Andrew Morton authored
- Spell Jeremy's name correctly. - Fix compile warning in raw.c - Do a waitqueue_active() test before waking klogd in printk. Not only is is negligibly faster, but the wake_up() in there causes deadlocks when you try to print debug info out from inside scheduler code. This patch gives a delightfully obscure way of avoiding the deadlock: kill off klogd. - Fix a couple of compile warnings in the mtrr code.
-
Andrew Morton authored
From Christoph Hellwig, acked by Jens. - remove some unneeded runtime initializers. - remove the explicit call to hd_init() - it already goes through module_init(), so we're currently running hd_init() twice.
-
Andrew Morton authored
From Christoph Hellwig, acked by Rohit. - fix config.in description: we know we're on i386 and we also know that a feature can only be enabled if the hw supports it, the code alone is not enough - the sysctl is VM-releated, so move it from /proc/sys/kernel tp /proc/sys/vm - adopt to standard sysctl names
-
Andrew Morton authored
From Christoph Hellwig. There are no lock_kernel() calls in mm/
-
Andrew Morton authored
From Hubertus Franke. The MAP_LOCKED flag to mmap() currently does nothing. Hubertus' patch fixes it so that the relevant mapping is locked into memory, if the called has CAP_IPC_LOCK.
-
Andrew Morton authored
Somebody somewhere is stomping on PF_NOWARN, and page allocation failure warnings are coming out of the wrong places. So change the handling of current->flags to be: int pf_flags = current->flags; current->flags |= PF_NOWARN; ... current->flags = pf_flags; which is a generally more robust approach.
-
Andrew Morton authored
- writev currently returns -EFAULT if _any_ of the segments has an invalid address. We should only return -EFAULT if the first segment has a bad address. If some of the first segments have valid addresses we need to write them and return a partial result. - The current code only checks if the sum-of-lengths is negative. If individual segments have a negative length but the result is positive we miss that. So rework the code to detect this, and to be immune to odd wrapping situations. As a bonus, we save one pass across the iovec. - ditto for readv. The check for "does any segment have a negative length" has already been performed in do_readv_writev(), but it's basically free here, and we need to do it for generic_file_read/write anyway. This all means that the iov_length() function is unsafe because of wrap/overflow isues. It should only be used after the generic_file_read/write or do_readv_writev() checking has been performed. Its callers have been reviewed and they are OK. The code now passes LTP testing and has been QA'd by Janet's team.
-
Andrew Morton authored
A patch from Hirokazu Takahashi to speed up the new sped-up writev code. Instead of running ->prepare_write/->commit_write for each individual segment, we walk the segments between prepage and commit. So potentially much larger amounts of data are passed to commit_write(), and prepare_write() is called much less often. Added bonus: the segment walk happens inside the kmap_atomic(), so we run kmap_atomic() once per page, not once per segment. We've demonstrated a speedup of over 3x. This is writing 1024-segment iovecs where the individual segments have an average length of 24 bytes, which is a favourable case for this patch.
-
Andrew Morton authored
Silly bug which was halving swapout bandwidth: we've taken a copy of page->mapping into a local convenience variable, but forgot to update that local after adding the page to swapcache.
-
Andrew Morton authored
This was designed to be a really sterm throttling threshold: if dirty memory reaches this level then perform writeback and actually wait on it. It doesn't work. Because memory dirtiers are required to perform writeback if the amount of dirty AND writeback memory exceeds dirty_async_ratio. So kill it, and rely just on the request queues being appropriately scaled to the machine size (they are). This is basically what 2.4 does.
-
Andrew Morton authored
Bill Irwin's patch to avoid having to walk pagetables while generating /proc/stat output. It can significantly overstate the size of various mappings because it assumes that all VMAs are fully populated. But spending 100% of one of my four CPUs running top(1) is a bug. Bill says this fixes a bug, too. The `SIZE' parameter is supposed to display the amount of memory which the process would consume if it faulted everything in. But "before it only showed instantiated 3rd-level pagetables, so if something within a 4MB aligned range hadn't been faulted in it would slip past the old one".
-
Andrew Morton authored
Patch from Martin Bligh. It should only affect machines using discontigmem. "This patch is was originally from Andrea's tree (from SGI??), and has been tweaked since by both Christoph (who cleaned up all the code), and myself (who just hit it until it worked). It removes _alloc_pages, and adds all nodes to the zonelists directly, which also changes the fallback zone order to something more sensible ... instead of: "foreach (node) { foreach (zone) }" we now do something more like "foreach (zone_type) { foreach (node) }" Christoph has a more recent version that's fancier and does a couple more cleanups, but it seems to have a bug in it that I can't track down easily, so I propose we do the simple thing for now, and take the rest of the cleanups when it works ... it seems to build nicely on top of this seperately to me. Tested on 16-way NUMA-Q with discontigmem + NUMA support."
-
Andrew Morton authored
Patch from Martin Bligh. It should only affect machines using discontigmem. "This patch cleans up free_area_init stuff, and undefines mem_map and max_mapnr for discontigmem, where they were horrible kludges anyway ... We just use the lmem_maps instead, which makes much more sense. It also kills pgdat->node_start_mapnr, which is tarred with the same brush. It breaks free_area_init_core into a couple of sections, pulls the allocation of the lmem_map back into the next higher function, and passes more things via the pgdat. But that's not very interesting, the objective was to kill mem_map for discontigmem, which seems to attract bugs like flypaper. This brings any misuses to obvious compile-time errors rather than wierd oopses, which I can't help but feel is a good thing. It does break other discontigmem architectures, but in a very obvious way (they won't compile) and it's easy to fix. I think that's a small price to pay ... ;-) At some point soon I will follow up with a patch to remove free_area_init_node for the contig mem case, or at the very least rename it to something more sensible, like __free_area_init. Christoph has grander plans to kill mem_map more extensively in addition to the attatched, but I've heard nobody disagree that it should die for the discontigmem case at least. Oh, and I renamed mem_map in drivers/pcmcia/sa1100 to pc_mem_map because my tiny little brain (and cscope) find it confusing like that. Tested on 16-way NUMA-Q with discontigmem + NUMA support and on a standard PC (well, boots and appears functional). On top of 2.5.33-mm4"
-
Andrew Morton authored
The writeback code paths which walk the superblocks and inodes are getting an increasing arguments passed to them. The patch wraps those args into the new `struct writeback_control', and uses that instead. There is no functional change. The new writeback_control structure is passed down through the writeback paths in the place where the old `nr_to_write' pointer used to be. writeback_control will be used to pass new information up and down the writeback paths. Such as whether the writeback should be non-blocking, and whether queue congestion was encountered.
-
Linus Torvalds authored
into home.transmeta.com:/home/torvalds/v2.5/linux
-
Linus Torvalds authored
into home.transmeta.com:/home/torvalds/v2.5/linux
-
Linus Torvalds authored
into home.transmeta.com:/home/torvalds/v2.5/linux
-
http://gkernel.bkbits.net/net-drivers-2.5Linus Torvalds authored
into home.transmeta.com:/home/torvalds/v2.5/linux
-
Jeff Garzik authored
into mandrakesoft.com:/home/jgarzik/repo/net-drivers-2.5
-
Jeff Garzik authored
when implementing ethtool media ioctls. No behavior should change with this patch (except the ethtool media ioctls now work, of course) Also, re-format comments to the right of the private struct to line up.
-
Jeff Garzik authored
to take 'struct net_device *' not 'long' as their first argument. This makes eepro100 compatible with the standard MII ethtool API, preparing it for that support. No functional changes should occur with this patch, if anything changes at all it is a bug. (and testing shows no changes...)
-
Jeff Garzik authored
(kill more e100 compiler warnings)
-
Jes Sorensen authored
* PCI write posting fixes, remove pa-specific code * support 2.5.x kernels (synchronize_irq, cli/sti cleanups)
-
David S. Miller authored
-
bk://ppc.bkbits.net/for-linus-ppcLinus Torvalds authored
into home.transmeta.com:/home/torvalds/v2.5/linux
-
- 21 Sep, 2002 3 commits
-
-
Paul Mackerras authored
-
Paul Mackerras authored
(no change in function).
-
Paul Mackerras authored
-
- 20 Sep, 2002 1 commit
-
-
Paul Mackerras authored
-
- 19 Sep, 2002 7 commits
-
-
Paul Mackerras authored
into samba.org:/home/paulus/kernel/for-linus-ppc
-
David S. Miller authored
The partition code registers a generic device for disks which have a dev->driver non-NULL but whose dev->driver->remove points into outer space. So when reboot happens --> OOPS in drivers/base/power.c:device_shutdown() Ok, amusingly in my case dev->driver == &scsi_done(), hehe :-) Two cases of uninitialized memory spotted, here is the patch.
-
Linus Torvalds authored
-
Jeff Garzik authored
(suggested by Donald Becker)
-
Jeff Garzik authored
into mandrakesoft.com:/home/jgarzik/repo/net-drivers-2.5
-
Jeff Garzik authored
* default to PIO (fixes bugs in some chips), but add CONFIG_xxx option for MMIO * proper support for variable MTU sizes * add missing unregister_netdev in an error path (with a kudos to Jason Lunz for merging most of this)
-
Jeff Garzik authored
-