- 20 Jun, 2003 25 commits
-
-
Andrew Morton authored
Both sys_sync() and the kupdate function need to precalculate the number of pages which they are prepared to write. Mainly for livelock avoidance. But they also must write inodes, and dirty inodes do not contribute to dirty page accounting (oops). Net effect: when there are lots of dirty inodes and few dirty pages, we forget to write inodes. This mainly affects atime updates, because most other inode-dirtying activity will generate dirty pages too. It mainly affects ext2. Now, writing an ext2 inode will just dirty the underlying blockdev pagecache page. So what the patch does is to assume that writing one inode will dirty up to one pagecache page. So the patch adds (inodes_stat.nr_inodes - inodes_stat.nr_unused) into the number of pages to be written. I considered creating inodes_stat.nr_dirty. It looks fairly messy, needing to know not to account for memory-backed inodes, etc. But it is probably a better thing to do.
-
Andrew Morton authored
By moving the special-casing for swapper_space out of __mark_inode_dirty() and into __set_page_dirty_nobuffers() we can remove swapper_inode.
-
Andrew Morton authored
From: Samuel Thibault <Samuel.Thibault@ens-lyon.fr> Changes the new console scrolling ioctl to permit distances greater than +127/-128.
-
Andrew Morton authored
- shmem: remove unneeded test for null inode->i_sb (James Morris) - kill unused var warning in traps.c (Geert Uytterhoeven) - s/u64/__u64/ in bitops.h (needed for klibc) - comment fix in gfp.h (Matthew Dobson <colpatch@us.ibm.com>) - fix smbfs constant overflow warning (Flameeyes <daps_mls@libero.it>) - yam.c irqreturn_t fix. - Remove some unused variables from baycom_epp.c (Adrian Bunk) - Remove 5-year-old unreferenced RCS string from xirc2ps_cs.c (Adrian Bunk)
-
Andrew Morton authored
update hugetlbfs_statfs for the statfs64() changes.
-
Andrew Morton authored
From: "Seth, Rohit" <rohit.seth@intel.com> - Add support for setting the filesystem's maximum size and maximum inode count on the mount command line. This is needed because the system admin can now set the ownership of teh fs to non-root users. We don't want those users to be able to use all of the hugepage pool. - Prroperly update the inode creation/modification time. - Set the blocksize to HPAGE_SIZE (instead of PAGE_CACHE_SIZE). - Update Documentation/vm/hugetlbpage.txt.
-
Andrew Morton authored
From: Andrey Borzenkov <arvidjaar@mail.ru> Add devfs support to raw.c.
-
Andrew Morton authored
From: Manfred Spraul <manfred@colorfullife.com> The CLONE_SYSVSEM implementation is racy: it does an (atomic_read(->refcnt) ==1) instead of atomic_dec_and_test calls in the exit handling. The patch fixes that. Additionally, the patch contains the following changes: - lock_undo() locks the list of undo structures. The lock is held throughout the semop() syscall, but that's unnecessary - we can drop it immediately after the lookup. - undo structures are only allocated when necessary. The need for undo structures is only noticed in the middle of the semop operation, while holding the semaphore array spinlock. The result is a convoluted unlock&revalidate implementation. I've reordered the code, and now the undo allocation can happen before acquiring the semaphore array spinlock. As a bonus, less code runs under the semaphore array spinlock. - sysvsem.sleep_list looks like code to handle oopses: if an oops kills a thread that sleeps in sys_timedsemop(), then sem_exit tries to recover. I've removed that - too fragile.
-
Andrew Morton authored
From: David Mosberger <davidm@napali.hpl.hp.com> This is an attempt at sanitizing the interface for stack trace dumping somewhat. It's basically the last thing which prevents 2.5.x from working out-of-the-box for ia64. ia64 apparently cannot reasonably implement the show_stack interface declared in sched.h. Here is the rationale: modern calling conventions don't maintain a frame pointer and it's not possible to get a reliable stack trace with only a stack pointer as the starting point. You really need more machine state to start with. For a while, I thought the solution is to pass a task pointer to show_stack(), but it turns out that this would negatively impact x86 because it's sometimes useful to show only portions of a stack trace (e.g., starting from the point at which a trap occurred). Thus, this patch _adds_ the task pointer instead: extern void show_stack(struct task_struct *tsk, unsigned long *sp); The idea here is that show_stack(tsk, sp) will show the backtrace of task "tsk", starting from the stack frame that "sp" is pointing to. If tsk is NULL, the trace will be for the current task. If "sp" is NULL, all stack frames of the task are shown. If both are NULL, you'll get the full trace of the current task. I _think_ this should make everyone happy. The patch also removes the declaration of show_trace() in linux/sched.h (it never was a generic function; some platforms, in particular x86, may want to update accordingly). Finally, the patch replaces the one call to show_trace_task() with the equivalent call show_stack(task, NULL). The patch below is for Alpha and i386, since I can (compile-)test those (I'll provide the ia64 update through my regular updates). The other arches will break visibly and updating the code should be trivial: - add a task pointer argument to show_stack() and pass NULL as the first argument where needed - remove show_trace_task() - declare show_trace() in a platform-specific header file if you really want to keep it around
-
Andrew Morton authored
From: John Stultz, George Anzinger, Eric Piel There was confusion over the definition of TICK_USEC. TICK_USEC is supposed to be based on USER_HZ, however a recent change caused TICK_USEC to be based on HZ. This broke the adjtimex() interface on systems where USER_HZ != HZ. This patch reverts the change to TICK_USEC, removes an added mis-use of the value and fixes some incorrect comments that could lead to this sort of confusion. Also this patch resolves the related LTP adjtimex failures.
-
Andrew Morton authored
From: David Mosberger <davidm@napali.hpl.hp.com> At the moment, if you don't set CLONE_CHILD_SETTID/CLONE_CHILD_CLEARTID, the {set,clear}_child_tid values get inherited from the parent task. I may be missing something, but I suspect that's not the intended behavior. The patch below instead clears the respective members.
-
Andrew Morton authored
The slab debugging code is supposed to poison freshly-allocated obejcts with 0x5a and freed ones with 0x6b, so we can distinguish use-uninitialised from use-after-free. It wasn't working right for recycled objects. Fix.
-
Andrew Morton authored
Use slab_error for printing the error message from kmem_cache_destroy
-
Andrew Morton authored
From: Peter Chubb <peter@chubb.wattle.id.au> Add two new system calls, statfs64 and fstatfs64. This has been needed sincew the 64-bit sector_t merge - the current structures will overflow. - Use a common interface (vfs_statfs) with the rest of the kernel, - convert to 32-bit at (f)statfs time. - New field f_frsize gives underlying fragment size for the filesystem. (Solaris has this, and the Open Group describe it). - The old statfs syscalls will now return -EOVERFLOW if the device was too large to be represented inthe old data structures. The new system calls take a size_t argument, which is the size of the structure to be filled in (as requested by Ben LaHaise), to `futureproof' the interface. Has been reviewed by the arch maintainers and by Ulrich Drepper.
-
Andrew Morton authored
From: Andi Kleen <ak@suse.de> On i386 and most other ports kern_addr_valid is hardcoded to 1. This works fine as long as only mapped areas are accessed. When you have something partially mapped in the kclist it is possible that start points to an unmapped address. The correct behaviour in this case is to zero the user space. We shouldn't return -EFAULT because the fault is against the mmapped range, not against the user's address. copy_to_user usually even checks for exceptions on both source and destination, but it does not zero the destination in this case and worse results in EFAULT, which is user visible. This patch just tries to clear_user in this case again to actually zero the user data and catch real user side EFAULTs. Another way to fix this is to have kern_addr_valid do a real page table lookup (I did that on AMD64), but having this fallback is a bit more reliable in case there is a race somewhere. On i386 it could happen for example if the direct space to max_low_pfn contains something unmapped. This normally isn't the case, but e.g. the slab debugging patches in -mm* do this so it's better to handle it. Drawback is that it relies on a somewhat undocumented copy_to_user behaviour (fault on both source and destination). It is true for i386 and amd64, but I don't know if it is for other port. In the worst case they just don't have the race protection and may see bogus EFAULTs.
-
Andrew Morton authored
From: Andi Kleen <ak@suse.de> The recent IA64 changes for /proc/kcore broke the access on i386. Currently no notes are written for the direct mapped or vmalloced memory, which makes gdb reject it. This patch fixes it. Other ports probably need to do the same changes.
-
Andrew Morton authored
If you open /dev/ram7 when the kernel is configured for 4 ramdisks, things blow up. Teach rd_open() to check that the minor is in range.
-
Andrew Morton authored
If someome tries to unmount the fs while kjournald is performing a commit, kjournald forgets to look for the termination request and goes into permanent sleep.
-
Andrew Morton authored
The memset which is performed if access_ok() fails got lost in the copy_*_user() rework. Put it back. Bloats the kernel by 8k :( Also contains a few related #includes and whitespace fixlets from Joshua Kwan <joshk@triplehelix.org>
-
bk://kernel.bkbits.net/gregkh/linux/pci-2.5Linus Torvalds authored
into home.transmeta.com:/home/torvalds/v2.5/linux
-
Lionel Bouton authored
This is an update for the SiS IDE driver. This is a 99% Vojtech work : - Independant southbridge detection (no need to add current and future MuTIOL northbridge PCI ids knowledge to the driver), - Lots of code cleanup, - Debug code removed (unused for a while, I will maintain it in my tree if needed), I changed some things: - the new config_xfer_rate is commented out until ide_find_best_mode is patched for bad drive handling (until then I reverted to the old one using the config_drive_xfer_rate helper function).
-
Greg Kroah-Hartman authored
-
Matthew Wilcox authored
Hi Greg. Ivan's not happy with the solution I came up with for naming /proc/bus/pci and Anton would prefer something slightly different too, so I abstracted the name out so each architecture can do its own thing. This is against 2.5.72 so won't apply cleanly to your tree (it applies to bitkeeper as of a few minutes ago with only minor offsets). I've implemented the original name for non-PCI-domain machines; done what ia64 and alpha need, respectively (assuming I didn't misunderstand Ivan), and plopped in the Old Way of doing things for Sparc64, PPC and PPC64. Maintainers may alter this to whatever degree of complexity they wish.
-
Greg Kroah-Hartman authored
-
Greg Kroah-Hartman authored
into kroah.com:/home/greg/linux/BK/pci-2.5
-
- 19 Jun, 2003 15 commits
-
-
bk://cifs.bkbits.net/linux-2.5cifsLinus Torvalds authored
into home.transmeta.com:/home/torvalds/v2.5/linux
-
Linus Torvalds authored
-
http://linux-acpi.bkbits.net/linux-acpiLinus Torvalds authored
into home.transmeta.com:/home/torvalds/v2.5/linux
-
bk://kernel.bkbits.net/jgarzik/net-drivers-2.5Linus Torvalds authored
into home.transmeta.com:/home/torvalds/v2.5/linux
-
Mikael Pettersson authored
While there is a separate driver for 2104x tulips (CONFIG_DE2104X), drivers/net/tulip/Kconfig states that CONFIG_TULIP also supports 2104x tulips. This is not the case since that support was removed in December 2001. A user with an old tulip may thus be tricked into configuring the wrong driver. (I was, on my PMac 4400.) The patch below removes this misinformation from tulip's Kconfig.
-
Jeff Garzik authored
(pulled change from 2.4)
-
Daniel Ritz authored
the second patch: replaces busy_loop with a simple macro doing a schedule_timeout. busy_loop was never called from interrupt conext anyway, so no need for that. and the sti() is gone. rgds -daniel
-
Daniel Ritz authored
hi this patch does: - net_device is no longer allocated as part of the driver's private structure, instead it's allocated via alloc_netdev - xirc2ps_detach calls xirc2ps_release if necessary (like the other drivers) against 2.5.70-bk. rgds -daniel
-
Zwane Mwaikambo authored
drivers/net/pcnet32.c: In function `pcnet32_init_ring': drivers/net/pcnet32.c:1006: warning: comparison between pointer and integer
-
Adrian Bunk authored
-
Reeja John authored
-
Andi Kleen authored
According to a report the my_inet_aton code in bond_main.c is copied from 4.4BSD, but it doesn't carry a BSD copyright license. In addition it is somewhat redundant with the standard in_aton. Convert it to use the linux function. Error handling is a bit worse than before, but not much. Patch for 2.5 bonding. The 2.4 version has the same problem, but afaik it is scheduled to be replaced by the 2.5 codebase anyways. -Andi
-
David S. Miller authored
-
David S. Miller authored
-
Herbert Xu authored
-