- 16 Oct, 2002 7 commits
-
-
Patrick Mochel authored
In the spirit of devices and buses, change driver refcounting model to match the way that devices and buses are done. struct device_driver gets a ->present field, which is set on registration and cleared in driver_unregister(). get_device() checks the state of this flag and returns NULL if cleared. Note that the horribly wrong remove_driver() is deprecated and simply BUG()s when called. Please convert callers to use driver_unregister(). Updates to callers will be coming soon. Note also that this still doesn't fix the race in which a driver module can be removed while the refcount on a driver > 1. Near future work should help to remedy it, but no solutions are guaranteed..
-
Patrick Mochel authored
Based on recent changes to device refcounting/unregistration. struct bus_type gets a ->present field, which is set when the bus is registered. bus_unregister() is added, which only clears ->present and calls put_bus(). get_bus() checks the ->present and returns NULL if clear. This allows all current references to buses to keep valid structures, while preventing any new references to the bus structure.
-
Patrick Mochel authored
into osdl.org:/home/mochel/src/kernel/devel/linux-2.5-core
-
Patrick Mochel authored
-
Patrick Mochel authored
There are races WRT walking the lists of the buses and classes and the device being unregistered while it's the current node we're accessing. If the node was deleted, ->next would point to itself, and we'd sit in an inifinite loop (until that memory was freed from underneath us and we Oops'd). This changes device_unregister() to only mark the device as not present. put_device() deletes the device from all the lists it belongs to, while holding device_lock, then drops it to call device_del(). This should guarantee that everything in the device is valid until the last reference goes away, regardless of whether it's still physically present or not.
-
Matthew Wilcox authored
If you compile the kernel with -ffunction-sections, each function gets put in a section .text.function_name. This collides with our current use of .text.init. So here's a patch which converts x86 to use .init.text instead. I've tested it on x86 and it still frees 120k of ram, so it seems to work. Other architectures will need to change their vmlinux.lds appropriately, and may need other changes (arm, m68k seem to use .text.init verbatim).
-
http://ppc.bkbits.net/for-linus-ppc64Linus Torvalds authored
into home.transmeta.com:/home/torvalds/v2.5/linux
-
- 17 Oct, 2002 3 commits
-
-
Anton Blanchard authored
-
bk://linux.bkbits.net/linux-2.5Anton Blanchard authored
into samba.org:/scratch/anton/linux-2.5_ppc64_work
-
Anton Blanchard authored
into samba.org:/scratch/anton/linux-2.5_ppc64_work
-
- 16 Oct, 2002 26 commits
-
-
Neil Brown authored
[PATCH] md - 1 of 1 - Register mergeable function for linear so requests don't cross device boundries We abstract out "which_dev" which finds which device a sector is on and us it to make sure both ends of a to-be-merged request will be on the same device.
-
Neil Brown authored
As the expkey cache references entries in export cache, it should be flushed first. Also, the auth_unix caches should go last.
-
Andy Adamson authored
This brings the linux-2.5.42 tree up to spec WRT setclientid and setclientid_confirm
-
Christoph Hellwig authored
Switch knfsd to vfs_read/vfs_write to work on aio-only filesystems. This also gets stuff like the LSM checks and mandatory lock checking for free.
-
Christoph Hellwig authored
o don't define __NO_VERSION__ (no use in 2.4/2.5) o don't include <linux/version.h>
-
Neil Brown authored
... as generic names probably aren't such a good idea. Also sort the related EXPORT_SYMBOLS. A 'qword' is a 'quoted word' and can be added, added as hex, or got (getted??).
-
Neil Brown authored
When releasing a cache item we always release anything that is part of the key, but we ONLY release the content is if it is valid. i.e. if CACHE_VALID but not CACHE_NEGATIVE.
-
Neil Brown authored
The new caching and auth code needs symbols to be exported.
-
Neil Brown authored
An rpc service like NFSD knows about a number of versions (2,3,4) and needs to know the max and min valid version numbers, and also the maximum xdr buffer size used by any version. These max/mins are currently computed at compile time which means we need to include all the xdr*.h headers into nfssvc.c just for computing a couple of numbers. With this patch, these max/mins are calculated at run time from information in the svc_version structure which has been extended to include per-version xdrsize. Also the nfsd_version2, nfsd_version3, and nfsd_version4 structures are moved from nfssvc.c to their more correct home of nfs*proc.c Code gets neated, xdr*.h are no-longer included in nfssvc.c, and the ugly ifdef can be removed fom xdr4.h
-
Andrew Morton authored
With gcc-2.95.3, text size goes from 2,399,190 to 2,390,004 - nearly 10 kbytes.
-
Andrew Morton authored
- Don't inline mpage_writepage(). Even though it had but a single call site, uninlining this function took mpage.o from 4529 bytes of text to 3985. gcc-2.95.3. - Various buffer.c tweaks. 13233 bytes down to 12977
-
Andrew Morton authored
I had some code in page reclaim which is designed to catch the caller of write(2) in page reclaim and force him to wait on writeout of his own spindle's pages. It works too well - there are large stalls in things like `cp large-file foo' on small-memory machines. So remove it, and rely on the other, more predictable throttling schemes.
-
Andrew Morton authored
From Marcus Alanen <marcus@infa.abo.fi> vmalloc is allocating one more page than necessary.
-
Andrew Morton authored
From Christpoh Hellwig. Make filemap_sync() static, and not exported to modules
-
Andrew Morton authored
From Hugh Dickins simple_rename, like shmem_rename until I fixed that a few weeks ago, got the parent directory's link count wrong in the exceptional case of renaming a directory in place of an existing empty directory.
-
Andrew Morton authored
Patch from Hugh Dickins. There's a loop in there which goes infinite if the active list is full of zero-ref pages.
-
Andrew Morton authored
Leftovers from the kmap_atomic conversion
-
Andrew Morton authored
From Peter Chubb OK, make it X86 only. 64-bit architectures now get it for free; if/when PPC32 (the only other 32-bit architecture I can seriously imagine needing it, except possibly s390) fixes do_div() and needs large block support, then enable it back there again. There isn't as far as I know a flag I can test in a config.in file that distinguishes 64 from 32-bit architectures. The intention was to enable the choice of CONFIG_LBD where it made sense; it doesn't make sense for 64-bit architectures; and rather than enumerate all the 32-bit architectures, I just chose two that I knew were used in servers currently.
-
Andrew Morton authored
Use 'p', not 'j'
-
Andrew Morton authored
Fix a couple of things for no-io-apic builds: - mpparse.c wants BAD_APICID - mpparse.c (an perhaps others) want Dprintk()
-
Linus Torvalds authored
into home.transmeta.com:/home/torvalds/v2.5/linux
-
Linus Torvalds authored
into home.transmeta.com:/home/torvalds/v2.5/linux
-
Adam Kropelin authored
This fixes a recent dyslexicism in cpqarray.
-
Matthew Wilcox authored
Use cond_resched() instead, and add a comment to explain.
-
Trond Myklebust authored
Thanks again to davem...
-
Trond Myklebust authored
The following patch fixes 2 obvious typos. Thanks to davem and George Anzinger for pointing them out.
-
- 15 Oct, 2002 4 commits
-
-
David S. Miller authored
-
David S. Miller authored
-
David S. Miller authored
-
David S. Miller authored
-