- 10 Sep, 2002 12 commits
-
-
Andrew Morton authored
Patch from Martin Bligh. "This mainly changes the PLAT_MY_MACRO_IS_ALL_CAPS() stuff to be normal_macro(), and takes out some unnecessary redirection of function names. No functionality changes, nothing touched outside i386 discontigmem ... just makes code readable. Rumour has it that the PLAT_* stuff came from IRIX - I don't see that as a good reason to make the Linux code unreadable. Tested on 16-way NUMA-Q."
-
Andrew Morton authored
Some adjustments to global dirty page accounting. Previously, dirty page accounting counted all dirty pages. Even dirty anonymous pages. This has potential to upset the throttling logic in balance_dirty_pages(). Particularly as I suspect we should decrease the dirty memory writeback thresholds by a lot. So this patch changes it so that we only account for dirty pagecache pages which have backing store. Not anonymous pages, not swapcache, not in-memory filesystem pages. To support this, the `memory_backed' boolean has been added to struct backing_dev_info. When an address space's backing device is marked as memory-backed, the core kernel knows to not include that mapping's pages in the dirty memory accounting. For memory-backed mappings, dirtiness is a way of pinning the page, and there's nothing the kernel can to do clean the page to make it freeable. driverfs, tmpfs, and ranfs have been coverted to mark their mappings as memory-backed. The ramdisk driver hasn't been converted. I have a separate patch for ramdisk, which fails to fix the longstanding problems in there :( With this patch, /bin/sync now sends /proc/meminfo:Dirty to zero, which is rather comforting.
-
Andrew Morton authored
Restore the gfp_mask in the VM's call to a_ops->releasepage(). We can block in there again, and XFS (at least) can use that.
-
Andrew Morton authored
The patch fixes a few problems in the writer throttling code. Mainly in the situation where a single large file is being written out. That file could be parked on sb->locked_inodes due to pdflush writeback, and the writer throttling path coming out of balance_dirty_pages() forgot to look for inodes on ->locked_inodes. The net effect was that the amount of dirty memory was exceeding the limit set in /proc/sys/vm/dirty_async_ratio, possibly to the point where the system gets seriously choked. The patch removes sb->locked_inodes altogether and teaches the throttling code to look for inodes on sb->s_io as well as sb->s_dirty. Also, just leave unwritten dirty pages on mapping->io_pages, and unwritten dirty inodes on sb->s_io. Putting them back onto ->dirty_pages and ->dirty_inodes was fairly pointless, given that both lists need to be looked at.
-
Ingo Molnar authored
This fixes the lockup. The bug happened because reparenting in the CLONE_THREAD case was done in a fundamentally non-atomic way, which was asking for various races to happen: eg. the target parent gets reparented to the currently exiting thread ... (the non-CLONE_THREAD case is safe because nothing reparents init.) the solution is to make all of reparenting atomic (including the forget_original_parent() bit) - this is possible with some reorganization done in signal.c and exit.c. This also made some of the loops simpler.
-
Alexander Viro authored
devfs side fixed thus:
-
Jens Axboe authored
Update hdreg to match 2.4 levels. o Use consistent SRV_STAT instead of SERVICE_STAT o Add sector count status bits for tcq o Add various missing commands o hd_driveid update
-
Jens Axboe authored
Update IDE pci ids to match 2.4.20-pre5-ac4 levels.
-
Jens Axboe authored
Add blk_fs_request(rq) to avoid testing rq->flags & REQ_CMD directly.
-
Jens Axboe authored
This merges the changes from 2.4-ac that allow drivers to enable (and mark as used) only a subset of PCI resources, for those drivers that need it (at this point apparently only the i845 IDE controller).
-
Mikael Pettersson authored
In the 2.5.33->2.5.34 step someone removed "export-objs" from drivers/char/ftape/lowlevel/Makefile, which makes it impossible to build ftape as a module since is _does_ have a number of EXPORT_SYMBOL's. This reverts that change.
-
Mikael Pettersson authored
The 2.5 floppy driver has for a long time has two init/exit bugs: 1. It calls register_sys_device() on init, but fails to call unregister_sys_device() in exit. This leads to data structure corruption if floppy is a module and it gets unloaded. 2. If calls register_sys_device() early on init, but fails to call unregister_sys_device() if init fails. Again, this leads to data structure corruption. The patch below fixes both these problems.
-
- 09 Sep, 2002 28 commits
-
-
Stephen Rothwell authored
drivers/cdrom/cdrom.c is the only file (apart from include/linux/fcntl.h) that includes asm/fcntl.h. This changes that and should have no affect. I need to do this before I consolidate the asm/fcntl.h files into linux/fcntl.h (coming next - again).
-
Skip Ford authored
This is needed since 2.5.32 to successfully mount a UFS partition.
-
Rolf Fokkens authored
I've been playing with different HZ values in the 2.4 kernel for a while now, and apparantly Linus also has decided to introduce a USER_HZ constant (I used CLOCKS_PER_SEC) while raising the HZ value on x86 to 1000. On x86 timekeeping has shown to be relative fragile when raising HZ (OK, I tried HZ=2048 which is quite high) because of the way the interrupt timer is configured to fire HZ times each second. This is done by configuring a divisor in the timer chip (LATCH) which divides a certain clock (1193180) and makes the chip fire interrupts at the resulting frequency. Now comes the catch: NTP requires a clock accuracy of 500 ppm. For some HZ values the clock is not accurate enough to meet this requirement, hence NTP won't work well. An example HZ value is 1020 which exceeds the 500 ppm requirement. In this case the best approximation is 1019.8 Hz. the xtime.tv_usec value is raised with a value of 980 each tick which means that after one second the tv_usec value has increased with 999404 (should be 1000000) which is an accuracy of 596 ppm. Some more examples: HZ Accuracy (ppm) ---- -------------- 100 17 1000 151 1024 632 2000 687 2008 343 2011 18 2048 1249 What I've been doing is replace tv_usec by tv_nsec, meaning xtime is now a timespec instead of a timeval. This allows the accuracy to be improved by a factor of 1000 for any (well ... any?) HZ value. Of course all kinds of calculations had te be improved as well. The ACTHZ constantant is introduced to approximate the actual HZ value, it's used to do some approximations of other related values.
-
Linus Torvalds authored
Cset exclude: greg@kroah.com|ChangeSet|20020905153320|19047
-
http://linux-acpi.bkbits.net/linux-acpiLinus Torvalds authored
into penguin.transmeta.com:/home/penguin/torvalds/repositories/kernel/linux
-
bk://linuxusb.bkbits.net/linus-2.5Linus Torvalds authored
into penguin.transmeta.com:/home/penguin/torvalds/repositories/kernel/linux
-
bk://linuxusb.bkbits.net/pci_hp-2.5Linus Torvalds authored
into penguin.transmeta.com:/home/penguin/torvalds/repositories/kernel/linux
-
Andy Grover authored
-
Andy Grover authored
into groveronline.com:/root/bk/linux-acpi
-
Patrick Mochel authored
during the initcall sequence, after all CPUs have been brought up. mtrr_init() calls a static init_other_cpus(), which fires off a function on all other cpus to replicate the state across all of them. arch/i386/kernel/smpboot.c::smp_callin() had the following: #ifdef CONFIG_MTRR /* * Must be done before calibration delay is computed */ mtrr_init_secondary_cpu (); #endif I couldn't figure this one out. The P4 manual says nothing about this, nor find any other documentation about it. The P4 manual says only that state must be synchronized across all CPUs, which it is. And, it happens before anything else is executed on the other CPUs, and before any devices or drivers have been brought up. The cyrix mtrr code was also updated to handle this style of SMP initialization.
-
Linus Torvalds authored
into penguin.transmeta.com:/home/penguin/torvalds/repositories/kernel/linux
-
Linus Torvalds authored
-
Greg Kroah-Hartman authored
-
Greg Kroah-Hartman authored
-
Patrick Mochel authored
- The early startup code was changed so smp_prepare_cpus() is now called before do_basic_setup(). do_basic_setup() is where mtrr_init() is called, which mtrr_init_secondary_cpu() is dependent on being called. - mtrr_init_boot_cpu() was removed from the AP startup code. This was a SMP-only hack that made sure mtrr_init() happened when SMP was enabled. That's right - two different code paths to do the same thing, obscured by compile-time defines. The appended patch makes sure mtrr_init() is called before smp_prepare_cpus(). It's ugly, and I'll work on a cleaner solution, but James: could you try it and see if it fixes your performance issues?
-
Juan Quintela authored
Documentation/porting: s/are/and/ Documentation/directory-locking: s/that means// was repeated
-
Petr Vandrovec authored
When recalc_sigpending was converted from inline to real function, appropriate EXPORT_SYMBOL() was not created. Needed at least for ncpfs and lockd.
-
Chris Wright authored
Update kernel-api.tmpl to reflect mtrr changes so that the docs will build.
-
Greg Kroah-Hartman authored
The pci_bus_* functions should be used instead.
-
Greg Kroah-Hartman authored
-
Irene Zubarev authored
-
Irene Zubarev authored
-
Irene Zubarev authored
- fix polling logic - add ability to write [chassis/rxe]#slot# instead of just slot#
-
Andy Grover authored
into groveronline.com:/root/bk/linux-acpi
-
Andy Grover authored
-
Greg Kroah-Hartman authored
- removed pci_announce_device_to_drivers() prototype as the function is long gone - always call /sbin/hotplug when pci devices are added to the system if so configured (this includes during the system bring up.)
-
Jeroen Vreeken authored
-
Greg Kroah-Hartman authored
-