- 11 Jun, 2003 13 commits
-
-
Patrick Mochel authored
From Jeremy Fitzhardinge: With the current system device changes (I picked them up in 2.5.70-mm8), the system device class assumes that all system device drivers are registered before any system devices are registered. Unfortunately, this is often not the case. CPU devices are registered very early, but cpufreq registers drivers for them; since cpufreq drivers can be loaded as modules, they clearly can't be registered before the device is. This patch keeps a list of all registered devices hanging off the system device class. When a new driver is registered, it calls the driver's add() function with all existing devices. Conversely, when a driver is unregistered, it calls the driver's remove() function for all existing devices so the driver can clean up. Note: the list in the class's embedded kset is used, rather than creating a new field.
-
Patrick Mochel authored
From Greg: I took out the other put_device() in the -bk tree in class_device_del() but forgot to remove this one.
-
Patrick Mochel authored
From Greg Kroah-Hartman
-
Patrick Mochel authored
This takes advantage of the implicit list ordering of kobjects now present, and uses list_for_each_entry() for simplicity.
-
Patrick Mochel authored
Previously, we would insert kobjects into their kset's lists at different locations based on if they had a parent or not - We kept an explicit depth-first list by placing devices directly before their parents. However, we don't need strict ordering. Assuming that a subordinate device is always added after its parent (true), then by adding them to the end of the list, then subordinate objects will always be farther down the list than their parent objects. We don't need to do anything special..
-
Patrick Mochel authored
into osdl.org:/home/mochel/src/kernel/devel/linux-2.5-core
-
Patrick Mochel authored
-
Patrick Mochel authored
-
Ivan Kokshaysky authored
We should set CONFIG_PCI_DOMAINS=y unconditionally on alpha to avoid ifdefs - jensen has dummy PCI infrastructure anyway.
-
Alan Iwi authored
This fixes an oversight in the reboot code, making some reboot incantations fail mysteriously.
-
Patrick Mochel authored
into osdl.org:/home/mochel/src/kernel/devel/linux-2.5-core
-
Patrick Mochel authored
-
Patrick Mochel authored
-
- 10 Jun, 2003 27 commits
-
-
Andrew Morton authored
From: David Mosberger <davidm@napali.hpl.hp.com> Here is a simplified version of the earlier /dev/mem cleanup. This version of the patch no longer pretends to support uncached accesses via read()/write(). Instead, all it does is: - consolidate much of the ugly code in uncached_access() - move pgprot_noncached() macro to pgtable.h for i386, m68k, ppc, ppc64, and x86_64 - fix the ia64 implementation to use efi_mem_attributes() to determine the cacheability of an address Eventually, we may want to replace the #ifdef CONFIG_IA64 with #ifdef CONFIG_EFI, but we can do this "on demand", if and when EFI-based x86 machines become more common.
-
Linus Torvalds authored
driver initializations
-
Andrew Morton authored
From: Martin Schwidefsky <schwidefsky@de.ibm.com> The S390 hardware has the interesting characteristic that the storage key hardware which records a page's pte-dirtiness is also marked dirty when a page is modified by the disk hardware. Consequently, reading data from disk makes the page appear to be dirty and things which were read from disk need to be written back. Up to now s390 uses a special bit in the pte that is set in mk_pte for the first user of a page and makes set_pte to clear the storage key. The problem is that this is a race condition if two processes want to access the same page simultaneously. Then the page count is already > 1 in mk_pte and nobody will clear the storage key. It doesn't lead to any data loss because what happens is that a clean page is considered dirty and is written back to the disk. The worst scenario is a read only disk where this results in i/o errors (but no data loss). Martin's fix to this is to clear the page's dirty flag in SetPageUptodate(). Which seems a bit kludgey, but I cannot think of a case in which this in incorrect, inadequate or inappropriate. So...
-
Andrew Morton authored
From: Jorn Engel <joern@wohnheim.fh-wedel.de> Reduce stack usage in the cpqarray ioctl byt several hundred bytes.
-
Andrew Morton authored
From: Christoph Hellwig <hch@lst.de> There may be multiple gendisks with the same .devfs_name in scsi and we call devfs_mk_dir on each of them. At present that causes a nasty error message. It is better to permit devfs_mk_dir() to appear to have succeeded. ie: it's a `mkdir -p'.
-
Andrew Morton authored
An NFS mount of localhost hangs the system under heavy writeout loads. This is because knfsd gets stuck in balance_dirty_pages(). It is not allowed to exit from there until the amount of dirty+writeback+unstable memory subsides. But it will never subside because knfsd itself is responsible for cleaning the memory. This is just like the drivers/block/loop.c hang, only more complex. We cannot simply disable knfsd's throttling because it would then swamp the machine under real loads when the clients are remote. So we introduce the concept of a "less throttled" process. These processes are allowed to exceed the preset dirty memory limits by a little. This allows knfsd to make progrws in writing things out while the local NFS clients are throttled. It also ensures that knfsd will not swamp the machine when working on behalf of remote clients. Note that even though knfsd is allowed to exceed the default system-wide dirty memory threshold, this does _not_ cause other memory-dirtying tasks to get starved out. This is because they are allowed to exit balance_dirty_pages() after having written their quota of pages, regardless of the current dirty memory state.
-
Andrew Morton authored
From: hugang <hugang@soulinfo.com> It has a rather blatant null pointer deref and attempted memory leak.
-
Andrew Morton authored
From: Dave Hansen <haveblue@us.ibm.com> We didn't notice this for a while because we didn't have any memory holes on the NUMA-Q, but on the x440, we do.
-
Andrew Morton authored
From: "Martin J. Bligh" <mbligh@aracnet.com> rebalance_tick is not properly passing the idle argument through to load_balance in one case. The fix is trivial. Pointed out by John Hawkes.
-
Andrew Morton authored
From: Manfred Spraul and Brian Gerst The patch performs the kmalloc cache lookup for constant kmalloc calls at compile time. The idea is that the loop in kmalloc takes a significant amount of time, and for kmalloc(4096,GFP_KERNEL), that lookup can happen entirely at compile time. A problem has been seen with gcc-3.2.2-5 from RedHat. This code: if(__builtin_constant_t(size)) { if(size < 32) return kmem_cache_alloc(...); if(size < 64) return kmem_cache_alloc(...); if(size < 96) return kmem_cache_alloc(...); if(size < 128) return kmem_cache_alloc(...); ... } doesn't work, because gcc only optimizes the first two or three comparisons, and then suddenly generates code. But we did it that way anyway. Apparently it's fixed in later compilers.
-
Andrew Morton authored
From: "Ni, Michael" <Michael.Ni@hp.com> Update the MAINTANERS file for the various Compaq mass-storage drivers
-
Andrew Morton authored
From: "Martin J. Bligh" <mbligh@aracnet.com> Patch from Martin Bligh, based on observations by Andrew Theurer and Bill Irwin. TARGET_CPUS is used as a cpu mask by some things, and an apic mask for others. For SMP, that doesn't matter (they're the same), but for Summit it does. This patch changes TARGET_CPUS to consistently be a cpu mask everywhere. Should be a no-op for normal platforms. Invalid arguments to cpu_mask_to_apicid for clustered apic mode architectures will now return the broadcast apicid, in order to ensure someone still gets the interrupt (was the default init value, and is safest).
-
Andrew Morton authored
From: Dave Hansen <haveblue@us.ibm.com> In order to turn an 8-way x440 into a 4-way for testing, we often use mem=(1/2 of total) and maxcpus=4. maxcpus has always worked, but mem= hasn't. The mem= parameter actually changes the kernel's e820 structure, which manifests itself as max_pfn. node_end_pfn[] obeys this because of find_max_pfn_node(), but node_start_pfn[] wasn't modified. If you have a mem= line that causes memory to stop before the beginning of a node, you get a condition where start > end (because start was never modified). There is a bug check for this, but it was placed just _before_ the error was made :) Also, the bootmem alloc functions die if you request something of zero size from them. This patch avoids that too. This shouldn't have much of an effect on non-NUMA systems.
-
Andrew Morton authored
If two processes are waiting in rtc_read(), only one will get the data. The other will madly spin around theloop in state TASK_RUNNING until another interrupt happens. Fix it by resetting TASK_INTERRUPTIBLE _inside_ the retry loop.
-
Andrew Morton authored
From: Andi Kleen <ak@suse.de> This makes the 2.5 kernel with common ioctl32 code compile with DRM enabled again. The DRM code in the kernel is obsolete anyways and has been long removed. It definitely does not belong in the common ioctl emulation layer. Egbert Eich is working on proper 32bit DRM emulation, but it will be likely directly integrated in the DRI/DRM sources.
-
Linus Torvalds authored
for the default "pci_domain_nr()" definition. The inline function will evaluate the argument.
-
Rusty Russell authored
Milton Miller noticed a free-after-use problem in the cleanup path of a failed module load. The problem is that mod is moved to point from the sucked-in file (always freed last) to the module core, after which time the "free(mod->core), reference mod->percpu" sequence is bogus, eg. when the module_init function fails. This is fixed by keeping the pointer in a local variable, which solves the problem. We no longer need to reference the free'd data structure.
-
Steven Cole authored
-
Neil Brown authored
This should fix most (all??) of the recently reported problems with MD: Recent changes to md malloced some data structures differently and didn't zero out those data structures, where the old code had zeroed it out. This adds the relevant memsets.
-
bk://kernel.bkbits.net/gregkh/linux/pci-2.5Linus Torvalds authored
into home.transmeta.com:/home/torvalds/v2.5/linux
-
bk://kernel.bkbits.net/gregkh/linux/linus-2.5Linus Torvalds authored
into home.transmeta.com:/home/torvalds/v2.5/linux
-
Greg Kroah-Hartman authored
into kroah.com:/home/greg/linux/BK/pci-2.5
-
Greg Kroah-Hartman authored
-
Greg Kroah-Hartman authored
-
Greg Kroah-Hartman authored
-
Greg Kroah-Hartman authored
-
Greg Kroah-Hartman authored
-