- 17 Jul, 2004 24 commits
-
-
Patrick Mochel authored
- Add {enable,disable}_nonboot_cpus() to prepare() and finish() in kernel/power/disk.c - Move swsusp __setup options there. Remove resume_status variable in favor of simpler 'noresume' variable, and check it in pm_resume(). - Remove software_resume() from swsusp; rename pm_resume() to software_resume(). The latter is considerably cleaner, and leverages the core code. - Move software_suspend() to kernel/power/main.c and shrink it down a wrapper that takes pm_sem and calls pm_suspend_disk(), which does the same as the old software_suspend() did. This keeps the same entry points (via ACPI sleep and the reboot() syscall), but actually allows those to use the low-level power states of the system rather than always shutting off the system. - Remove now-unused functions from swsusp.
-
Patrick Mochel authored
-
Patrick Mochel authored
- Remove kernel/power/pmdisk.c. - Remove CONFIG_PM_STD config option. - Fix up Makefile.
-
Patrick Mochel authored
- Remove from pmdisk. - Remove pmdisk= command line option.
-
Patrick Mochel authored
- Change name of free_suspend_pagedir() to swsusp_free(). - Call from kernel/power/disk.c
-
Patrick Mochel authored
- Merge suspend_save_image() from both into one. - Rename to swsusp_write(). - Remove pmdisk_write(). - Fixup call in kernel/power/disk.c and software_suspend(). - Mark lock_swapdevices() static again.
-
Patrick Mochel authored
- Merge pmdisk_read() and __read_suspend_image() and rename to swsusp_read() - Fix up call in kernel/power/disk.c to call new name. - Remove extra error checking from software_resume().
-
Patrick Mochel authored
This embodies the core of the swsusp->pmdisk cleanups. Instead of using the ->dummy variable at the end of each pagedir for a linked list of the page dirs, this uses a static array, which is kept in the empty space of the swsusp header. There are 768 entries, and could be scaled up based on the size of the page and the amount of room remaining. 768 should be enough anyway, since each entry is a swp_entry_t to a page-length array of pages. With larger systems and more memory come larger pages, so each page-sized array will automatically scale up. This replaces the read_suspend_image() and write_suspend_image() in swsusp with the much more concise pmdisk versions (not that big of change at this point) and fixes up the callers so software_resume() gets it right. Also, mark the helpers only used in swsusp as static again.
-
Patrick Mochel authored
- Move struct pmdisk_header definition to swsusp and change name to struct swsusp_header. - Statically allocate one (swsusp_header), and use it during mark_swapfiles() and when checking sig on resume. - Move check_sig() from pmdisk to swsusp. - Wrap with swsusp_verify(), and move check_header() there. - Fix up calls in pmdisk and swsusp. - Make new wrapper swsusp_close_swap() and call from write_suspend_image(). - Look for swsusp_info info in swsusp_header.swsusp_info, instead of magic location at end of struct.
-
Patrick Mochel authored
- The bio code already does this for us..
-
Patrick Mochel authored
- Move definition of struct pmdsik_info to power.h and rename to struct swsusp_info. - Kill struct suspend_header. - Move helpers from pmdisk into swsusp: init_header(), dump_info(), write_header(), sanity_check(), check_header(). - Fix up calls in pmdisk to call the right ones. - Clean up swsusp code to use helpers; delete duplicates.
-
Patrick Mochel authored
- Create swsusp_data_read() and call from read_suspend_image() in both swsusp and pmdisk. - Mark swsusp_pagedir_relocate() as static again.
-
Patrick Mochel authored
- Move bio helpers to swsusp. - Convert swsusp to use them, rathen buffer_heads. - Expose and fix up calls in pmdisk. - Clean up swsusp::read_suspend_image() a bit.
-
Patrick Mochel authored
-
Patrick Mochel authored
-
Patrick Mochel authored
- Split do_magic into swsusp_arch_suspend() and swsusp_arch_resume(). - Clean up based on pmdisk implementation - Only save registers we need to. - Use rep;movsl for copying, rather than doing each byte. - Create swsusp_suspend and swsusp_resume wrappers for calling the assmebly routines that: - Call {save,restore}_processor_state() in each. - Disable/enable interrupts in each. - Call swsusp_{suspend,restore} in software_{suspend,resume} - Kill all the do_magic_* functions. - Remove prototypes from linux/suspend.h - Remove similar pmdisk functions. - Update calls in kernel/power/disk.c to use swsusp versions.
-
Patrick Mochel authored
- Move call out of assembly-callbacks and into software_suspend() after do_magic() returns.
-
Patrick Mochel authored
- Split count_and_copy_data_pages() into count_data_pages() and copy_data_pages(). - Move helper saveable() from pmdisk to swsusp, and update to work with page zones. - Get rid of uneeded defines in pmdisk.
-
Patrick Mochel authored
- Move helpers calc_order(), alloc_pagedir(), alloc_image_pages(), enough_free_mem(), and enough_swap() into swsusp. - Wrap them all with a new function - swsusp_alloc(). - Fix up pmdisk to just call that. - Fix up suspend_prepare_image() to call that, instead of doing it inline.
-
Patrick Mochel authored
- Introduce helpers to swsusp - swsusp_write_page(), swsusp_data_write() and swsusp_data_free(). - Delete duplicate copies from pmdisk and fixup names in calls. - Clean up write_suspend_image() in swsusp and use the helpers.
-
Patrick Mochel authored
- In pmdisk, change pm_pagedir_nosave back to pagedir_nosave, and pmdisk_pages back to nr_copy_pages. - Mark them, and other page count/pagedir variables extern. - Make sure they're not static in swsusp. - Remove mention from include/linux/suspend.h, since no one else needs them.
-
Patrick Mochel authored
- Use read_swapfiles() in swsusp and rename to swsusp_swap_check(). - Use lock_swapdevices() in swsusp and rename to swsusp_swap_lock().
-
Patrick Mochel authored
- Expose and use version in swsusp.
-
Patrick Mochel authored
-
- 16 Jul, 2004 16 commits
-
-
Miklos Szeredi authored
This patch fixes a hard-to-trigger condition, where the inode is on the inode_in_use list while it's state is dirty. In this state dirty pages are not written back in sync() or from kupdate, only from direct page reclaim. And this causes a livelock in balance_dirty_pages after a while. The actual sequence of events required to get into this state is: thread function inode state inode list ---------------------------------------------------------------------------- 1 __sync_single_inode (background) I_DIRTY sb->s_io 1 do_writepages ... I_LOCKED 2 __writeback_single_inode (sync) sleeps I_LOCKED 1 __sync_single_inode (background) finish 0 inode_in_use 2 __writeback_single_inode (sync) wakeup 0 2 __sync_single_inode (sync) 0 2 do_writepages ... I_LOCKED 3 __mark_inode_dirty I_LOCKED | I_DIRTY 2 __sync_single_inode (sync) finish I_DIRTY left on inode_in_use Signed-off-by: Miklos Szeredi <miklos@szeredi.hu> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Pat Gefre authored
Patch for our console driver. We converted the driver to use the serial core functions. Also some changes to use sysfs/udev and a new major number. Cc: Jesse Barnes <jbarnes@engr.sgi.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Alexander Viro authored
-
Alexander Viro authored
-
Alexander Viro authored
-
Alexander Viro authored
partially annotated, fixed dereferencing of userland pointer (trivial, since we'd just copied the entire structure).
-
Alexander Viro authored
-
Linus Torvalds authored
-
Linus Torvalds authored
-
Alexander Viro authored
Massive, but trivial - drm annotated and got 0->NULL where needed. That patch kills ~2200 lines of warnings - out of 5400 that remained at that point.
-
Alexander Viro authored
the rest of iovec cleanups: nbd, dvb-net, sock.c::sock_no_sendpage(), econet over udp and ip_vs switched to use of kvec and kernel_...msg().
-
Alexander Viro authored
sunrpc, nfs and nfsd switched to use of kvec and kernel_...msg()
-
Alexander Viro authored
rxrpc (low-level part of afs) switched to kernel_...msg(); it already was using kvec instead of iovec.
-
Alexander Viro authored
cifs switched to kvec and kernel_...msg()
-
Alexander Viro authored
ncpfs switched to kvec and kernel_...msg()
-
Alexander Viro authored
smbfs switched to kvec and kernel_...msg()
-