- 16 Nov, 2002 12 commits
-
-
Andrew Morton authored
A rollup of Bill's 11-patch series which replaces hugetlb's custom inode with a bare radix tree. Reviewed and acked by Rohit. - revert doublefreeing patch - Put set_new_inode() and the inode allocation loop into an alloc_key(), and introduce a new opaque type "struct hugetlb_key". - Wrap the release path in alloc_shared_hugetlb_pages() with a release_key() function that handles the release. - Wrap hugetlb_prefault() with prefault_key() in order to isolate the dependency on inodes for prefaulting the hugetlb vma. - Replaces the usage of inode->i_writecount as a flag marking keys busy with a boolean flag field in struct htlbpagekey, and removes the last dependency of alloc_shared_hugetlb_pages() on struct inode. - Remove the last direct usage of struct inode within the hugetlb functions. - Removes many direct usages of struct inode within the key manipulation API in exchange for passing references to the key structure itself. - Expand out prefault_key() into its hugetlb_prefault() component, but substitute stubs to abstract out inode access. - Move uid/gid/mode/size fields used in struct inode and the checks on them into key management code and structures. - Substitute direct usage of radix trees for inodes, and removes the custom-allocated inodes. - Wrap up the release path by adding proper refcounting of keys.
-
Andrew Morton authored
- add init_timer in bttv driver - remove duplicated init_timer() in ncpfs. - remove noisy printk's from 3c59x.c - sparc64 compile fix with CONFIG_HUGETLBPAGE=y - htlbpage_max is now an int
-
Andrew Morton authored
Patch from Hugh Dickins <hugh@veritas.com> tmpfs failed fsx+swapout tests after many hours, a page found zeroed. Not a truncate problem, but mirror image of earlier truncate problems: swap goes through mpage_writepages, which must therefore allow for a sudden swizzle back to file identity. Second time this caught us, so I've audited the tree for other places which might be surprised by such swizzling. The only others I found were (perhaps) in the parisc and sparc64 flush_dcache_page called from do_generic_mapping_read on a looped tmpfs file which is also mmapped; but that's a very marginal case, I wanted to understand it better before making any edit, and now realize that hch's sendfile in loop eliminates it (now go through do_shmem_file_read instead: similar but crucially this locks the page when raising its count, which is enough to keep vmscan from interfering).
-
Andrew Morton authored
Patch from Hugh Dickins <hugh@veritas.com> swap_readpage and swap_writepage forgot to unlock_page if get_swap_bio failed.
-
Andrew Morton authored
Patch from Hugh Dickins <hugh@veritas.com> On some architectures (cachetlb.txt gives HyperSparc as an example) it is essential to flush_cache_page while pte is still valid: the rmap VM diverged from the base 2.4 VM before that fix was made, so this error has crept back into 2.5. Patch below applies to 2.5.47 or 2.5.47-mm1 - needs more work over shared pagetables, but they've silently fallen out of 2.5.47-mm1: oversight? I'll send Alan the equivalent for 2.4-ac shortly. (I wonder, what happens if userspace now modifies the page after the flush_cache_page, before the pte is invalidated?)
-
Andrew Morton authored
Patch from Andreas Gruenbacher <agruen@suse.de> Add a gfp_mask parameter to the free() callback so that the callback can safely do I/O, etc. The free callback can now also fail. This will be needed by reiserfs. The order of entries on the cache entry lru is reversed so that list_for_each_safe() can be used. Several helper functions that don't make the code any better are removed. Finally, a couple of cosmetic things.
-
Andrew Morton authored
From Badari. bio_add_page returns zero on failure - we need to propagate that to the dio_bio_add_page() caller.
-
Linus Torvalds authored
into home.transmeta.com:/home/torvalds/v2.5/linux
-
Matthew Wilcox authored
This patch removes all the wait_queue handling code from sched.h and puts it in wait.h with the rest of the wait_queue handling code. Note that sched.h must continue to include wait.h for the wait_queue_head_t embedded in struct task. However there may be files which only need wait.h now.
-
Matthew Wilcox authored
It really makes no sense to have request_irq and free_irq in sched.h Let's move them to interrupt.h instead. Note that I also remove sched.h from interrupt.h since it's not needed.
-
Matthew Wilcox authored
A minor removal of 6 function definitions from sched.h. They clearly fit better in file.h. All users of these functions already include file.h. And none of them included sched.h directly...
-
Matthew Wilcox authored
This patch from William Lee Irwin III privatizes __d_path() to dcache.c, uninlines d_path(), moves its declaration to dcache.h, moves it to dcache.c, and exports d_path() instead of __d_path().
-
- 15 Nov, 2002 14 commits
-
-
Alexander Viro authored
Grrr... Two bugs in a patch that had moved md setup to late boot: a) we need md_run_setup() run before parsing root name. b) it's create_dev("/dev/md0",...), not create_dev("md0",...) ;-/
-
Alexander Viro authored
Still not safe (we use __MOD_INC_USE_COUNT in paride.c; old code has MOD_INC_USE_COUNT in protocol drivers), but that takes crap in one place. ->owner added paride.c grabs/releases it if if present ->proto_init() became empty for almost everything ->proto_release() <<--->> ->proto_init() returns int now (the only case where we do have a non-empty ->proto_init() needed that all along). paride.c taught to deal with that.
-
Alexander Viro authored
dasd_proc.c : should be using ->owner instead of MOD_..._USE_COUNT in ->open()/->release(). s390/char/tape.c, s390/char/tapechar.c, usb/image/scanner.c, intermezzo/psdev.c: ditto intermezzo/super.c: they forgot to remove MOD_INC_USE_COUNT from the ..._fill_super() binfmt_som.c: ->load_binary() and ->load_library() don't need MOD_INC_USE_COUNT, since ->module is correctly set.
-
bk://linux-input.bkbits.net/linux-inputLinus Torvalds authored
into penguin.transmeta.com:/home/penguin/torvalds/repositories/kernel/linux
-
Vojtech Pavlik authored
-
Alexander Viro authored
devfs_register_tape() returns the number it had assigned to tape. new helper: devfs_unregister_tape(number) - removes symlink created by devfs_register_tape() devfs_register_tape() doesn't use devfs_auto_unregister() anymore. devfs_register_tape() gets devfs entry of directory, instead of that of a random file in that directory. users updated
-
Alexander Viro authored
-
Alexander Viro authored
-
Alexander Viro authored
-
Alexander Viro authored
dm-ioctl.c does, er, interesting things to figure out the name of devfs node it had just created. Cleaned up.
-
Alexander Viro authored
dv1394.c piles amazing amounts of crap around its devfs entries. Probably a result of times before devfs_find_and_unregister()... In any case, code switched to use of devfs_find_and_unregister(), crapectomy performed...
-
Davide Libenzi authored
- Improved file cleanup code
-
Davide Libenzi authored
- A more uniform poll queueing interface with tips from Manfred - The f_op->poll() is done outside the irqlock to maintain compatibility with existing drivers that assume to be called with irq enabled - Moved event mask setting inside ep_modify() with tips from John - Fixed locking to fit the new "poll() outside the lock" approach - Bufferd userspace event delivery to reduce irq_lock/irq_unlock switching rate and to reduce the number of __copy_to_user() - Comments added
-
Jens Axboe authored
There's a long standing bug in blk_recount_segments(). Clustering means physical segment colascing, not hardware segment colascing. This basically means that we are mapping more segments than here than the bio + requests contains, and this causes a bug in the SCSI layer for host adapters that have CLUSTERING enabled. This patch makes sure that we are clustering physical segments correctly, and correctly accounting hardware segments. Please apply.
-
- 14 Nov, 2002 14 commits
-
-
http://linux-isdn.bkbits.net/linux-2.5.isdnLinus Torvalds authored
into home.transmeta.com:/home/torvalds/v2.5/linux
-
http://linux-isdn.bkbits.net/linux-2.5.makeLinus Torvalds authored
into home.transmeta.com:/home/torvalds/v2.5/linux
-
http://linux-acpi.bkbits.net/linux-acpiLinus Torvalds authored
into home.transmeta.com:/home/torvalds/v2.5/linux
-
bk://linuxusb.bkbits.net/linus-2.5Linus Torvalds authored
into home.transmeta.com:/home/torvalds/v2.5/linux
-
Linus Torvalds authored
-
Linus Torvalds authored
instead of home-brew PCI allocations.
-
Linus Torvalds authored
instead of home-brew PCI allocations.
-
Linus Torvalds authored
DMA blit and getparam support.
-
Linus Torvalds authored
irq handling.
-
Linus Torvalds authored
into home.transmeta.com:/home/torvalds/v2.5/linux
-
Linus Torvalds authored
R200 cube map registers)
-
David S. Miller authored
-
David Brownell authored
I thought I'd send the results of some experimentation of mine getting an MGE UPS (Evolution) to talk to 2.5 ... basically it behaved after some patches, though the "hidups" driver didn't. They're all attached: - "hiddev-1.patch" ... The default queue size was so small that this low-speed device couldn't queue up about 110 control requests (that many reports to check!) during init. - "hiddev-2.patch" ... Makes hid debug output more useful by (a) making it compile again; (b) adding lots of "Power Device" and "Battery System" reports, and putting all that data into the readonly data section; (c) actually printing the usage strings, if they're known; (d) printing a message when neither input nor hiddev claim the device ... likely something's wrong, like someone didn't configure in input subsystem or hiddev support. - "hiddev-3.patch" ... Teaches hiddev to expose the physical ID just like the input event framework does. Useful to help sort out which UPS is which, so you won't power down the wrong set of servers by accident.
-
Andy Grover authored
into groveronline.com:/root/bk/linux-acpi
-