- 14 Dec, 2002 19 commits
-
-
Andrew Morton authored
- /proc/vmstat:pageoutrun and /proc/vmstat:allocstall are always identical. Rework this so that - "allocstall" is the number of times a page allocator ran diect reclaim - "pageoutrun" is the number of times kswapd ran page reclaim - Add a new stat: "pgrotated". The number of pages which were rotated to the tail of the LRU for immediate reclaim by rotate_reclaimable_page(). - Document things a bit.
-
Andrew Morton authored
Check for usercopy faults in filldir().
-
Andrew Morton authored
ext3_sync_fs will start a commit and will wait on that commit. This means that on its return, all journalled file data has been dirtied and exposed to sync_inodes_sb(). Which is sufficient to fix the umount data loss problem.
-
Andrew Morton authored
This is infrastructure for fixing the journalled-data ext3 unmount data loss problem. It was sent for comment to linux-fsdevel a week ago; there was none. Add a `sync_fs' superblock operation whose mandate is to perform filesystem-specific operations to ensure a successful sync. It is called in two places: 1: fsync_super() - for umount. 2: sys_sync() - for global sync. In the sys_sync() case we call all the ->write_super() methods first. write_super() is an async flushing operation. It should not block. After that, we call all the ->sync_fs functions. This is independent of the state of s_dirt! That was all confused up before, and in this patch ->write_super() and ->sync_fs() are quite separate. With ext3 as an example, the initial ->write_super() will start a transaction, but will not wait on it. (But only if s_dirt was set!) The first ->sync_fs() call will get the IO underway. The second ->sync_fs() call will wait on the IO. And we really do need to be this elaborate, because all the testing of s_dirt in there makes ->write_super() an unreliable way of detecting when the VFS is trying to sync the filesystem.
-
Andrew Morton authored
Fix a radix-tree bug spotted by Vladimir Saveliev <vs@namesys.com>. Each step in the radix tree spans six address bits. So a height=6 tree spans 36-bits worth of nodes. On 32-bit machines radix_tree_gang_lookup() doesn't handle this right - at the 12TB mark it wraps back to zero, and returns pages at quite wrong indices. The patch fixes all that up, and tidies a couple of things. A user-space test harness was developed so that the code can be sanely tested. It is at http://www.zip.com.au/~akpm/linux/patches/stuff/rtth.tar.gz
-
Andrew Morton authored
Patch from Martin Bligh and Dave Hansen If a PAE machine has 1G of memory and you set PAGE_OFFSET to 2G, the kernel will only instantiate a PMD to cover the 2G-3G region. But another PMD is needed for the 3G-4G region for the APIC and possibly an extended vmalloc region. So the patch changes the code to instantiate PMDs out to the end of physical memory. It's a no-op for PAGE_OFFSET=3G, and _could_ be part of the CONFIG_PAGE_OFFSET patch. But it seems a reasonable generalisation anyway.
-
Andrew Morton authored
Ancient patch From Bill Irwin The patch is intended to show improved information about where the memory went during OOM-killing events. - when the OOM killer fails and the system panics, calls show_free_areas() - reorganize show_free_areas() to use for_each_zone() - add per-cpu stats to show_free_areas() - tags output from show_free_areas() with node and zone information
-
Andrew Morton authored
fail_writepage() does not work. Its activate_page() call cannot activate the page because it is not on the LRU. So perform that function (more efficiently) in the VM. Remove fail_writepage() and, if the filesystem does not implement ->writepage() then activate the page from shrink_list(). A special case is tmpfs, which does have a writepage, but which sometimes wants to activate the pages anyway. The most important case is when there is no swap online and we don't want to keep all those pages on the inactive list. So just as a tmpfs special-case, allow writepage() to return WRITEPAGE_ACTIVATE, and handle that in the VM. Also, the whole idea of allowing ->writepage() to return -EAGAIN, and handling that in the caller has been reverted. If a writepage() implementation wants to back out and not write the page, it must redirty the page, unlock it and return zero. (This is Hugh's preferred way). And remove the now-unneeded shmem_writepages() - shmem inodes are marked as `memory backed' so it will not be called. And remove the test for non-null ->writepage() in generic_file_mmap(). Memory-backed files _are_ mmappable, and they do not have a writepage(). It just isn't called. So the locking rules for writepage() are unchanged. They are: - Called with the page locked - Returns with the page unlocked - Must redirty the page itself if it wasn't all written. But there is a new, special, hidden, undocumented, secret hack for tmpfs: writepage may return WRITEPAGE_ACTIVATE to tell the VM to move the page to the active list. The page must be kept locked in this one case.
-
Andrew Morton authored
There's nopoint in walking through a lot of tmpfs or ramdisk pages when we're trying to clean memory. So if a memory-backed inode is discovered during writeback, skip the entire superblock.
-
Andrew Morton authored
Patch from Mark Fasheh <mark.fasheh@oracle.com> (plus a few cleanups and a speedup from yours truly) Adds the semtimedop() function - semop with a timeout. Solaris has this. It's apparently worth a couple of percent to Oracle throughput and given the simplicity, that is sufficient benefit for inclusion IMO. This patch hooks up semtimedop() only for ia64 and ia32.
-
Andrew Morton authored
The pte_chain_unlock() needs to be outside the ifdef.
-
Andrew Morton authored
The read_zero() implementation for !CONFIG_MMU was very inefficient. This sped-up version has been tested and acked by Greg Ungerer.
-
Andrew Morton authored
Back out the sys_syslog()-based printk-from-userspace and replace it with Ben's /proc/kmsg version. Requires a `mknod /dev/kmsg c 1 11'.
-
Andrew Morton authored
Patch from Robert Love <rml@tech9.net> We can never get rid of it if we do not deprecate it - so do so and print a stern warning to those who still run bdflush daemons.
-
Andrew Morton authored
The PF_MEMALLOC handling got broken somewhere, and it is now possible for a PF_MEMALLOC process to reenter page reclaim. Change it to fail the allocation if we're PF_MEMALLOC and there are zero pages free.
-
François Romieu authored
This removes calls to function which disappeared during last Iphase driver update. Since this update, Iphase driver has been using plain modern pci style init. Problem wasn't noticed until Adrian Bunk tried to build non-modular kernel (I only tested the modularized driver). Everybody else seemed happy :o)
-
James Simmons authored
scrup is using memcpy even when the memory areas src, dest overlap. The key is to use memmove which handles overlapping memory gracefully.
-
bk://thebsh.namesys.com/bk/reiser3-linux-2.5-fixesLinus Torvalds authored
into home.transmeta.com:/home/torvalds/v2.5/linux
-
Anton Blanchard authored
2.5 currently tries to register disk sda twice. Not nice and now we use sysfs to do name to dev_t mapping, I couldnt mount my root filesystem.
-
- 13 Dec, 2002 13 commits
-
-
Matthew Wilcox authored
This driver does not need to use atomic operations on local variables.
-
Robert Love authored
Trivial but annoying: two printk() calls in drivers/scsi/hosts.c are missing '\n' Also, for some reason I have not yet investigated, shost_tp->name is NULL here. This should not be, eh? If it can be, we should do something to tidy up the printing of it.
-
Robert Love authored
This error message is uber annoying and needs to go. Non-root can flood the console with this junk on invalid SCSI CD-ROM ioctl(), and that is exactly what gnome-cd does. An illegal ioctl() returns an error to the program. That is sufficient - we do not need KERN_ERROR warnings all over the place. Especially when any user can cause them at any rate.
-
Rusty Russell authored
In some configurations, parport and bttv request a module inside their module_init function. Drop the lock around mod->init(), change module->live to module->state so we can detect modules which are in init.
-
Rusty Russell authored
module-init-tools 0.9 and newer supply a replacement depmod, so it's safe to run again. Also, some external programs like PCMCIA and mkinitrd really want the directory hierarchy in /lib/modules back again: it makes no difference to the tools (since 0.9), so revert it.
-
bk://linuxusb.bkbits.net/linus-2.5Linus Torvalds authored
into home.transmeta.com:/home/torvalds/v2.5/linux
-
Linus Torvalds authored
-
Peter Braam authored
Relatively straightforward fixes for intermezzo problems in 2.5.50. I think all of them related to: - two missing headers - use of timespec instead of time_t.
-
bk://are.twiddle.net/axp-2.5Linus Torvalds authored
into home.transmeta.com:/home/torvalds/v2.5/linux
-
Linus Torvalds authored
-
http://jfs.bkbits.net/linux-2.5Linus Torvalds authored
into home.transmeta.com:/home/torvalds/v2.5/linux
-
Andy Grover authored
-
Petko Manolov authored
I made the changes to the set/get_registers code.
-
- 12 Dec, 2002 8 commits
-
-
Richard Henderson authored
Cset exclude: rth@dorothy.sfbay.redhat.com|ChangeSet|20021207231352|30637
-
Andy Grover authored
- remove NATIVE_CHAR typedef - remove ACPI_{GET,VALID}_ADDRESS macros - fix memory corruption in deletion of a static AML buffer - fix fault caused by 0-length AML - fix user-buffer overwrite/corruption of buffer is too small - fix buffer-to-string conversion
-
Greg Kroah-Hartman authored
This allowed a lock to be removed. Also removed the MOD_* functions, and some remove logic was cleaned up by Oliver Neukum.
-
Greg Kroah-Hartman authored
-
Andy Grover authored
into groveronline.com:/root/bk/linux-acpi
-
Andreas Busch authored
here is an id-patch to get the Sony Cybershot F717 6meg pixel digital camera working with the standard usb-storage device driver.
-
Greg Kroah-Hartman authored
-
Ari Juhani Hämeenaho authored
Here are minimal usb_find_interface() patches for the core, usblp and scanner. Basic design is: - device major (USB_MAJOR for now) and minor are stored in probe() function to struct usb_interface as kdev_t - open() can use new core function usb_find_interface() to find matching device in drivers device list - disconnect() will set kdev_t struct usb_interface to NODEV, so open wont open it anymore without new probe() I tested these patches and they work for me. I will work on small patches of other work in these drivers (like removal of lock_kernel/unlock_kernel in usblp, fixing the disconnect problems in both drivers etc.). Those patches would be very small too, but there will be quite many.
-