- 10 Nov, 2002 18 commits
-
-
Linus Torvalds authored
-
Andrew Morton authored
This patch will break some userspace monitoring apps in the name of having sane disk statistics in 2.6.x. Patch from Rick Lindsley <ricklind@us.ibm.com> In 2.5.46, there are now disk statistics being collected twice: once for gendisk/hd_struct, and once for dkstat. They are collecting the same thing. This patch removes dkstat, which also had the disadvantage of being limited by DK_MAX_MAJOR and DK_MAX_DISK. (Those #defines are removed too.) In addition, this patch removes disk statistics from /proc/stat since they are now available via sysfs and there seems to have been a general preference in previous discussions to "clean up" /proc/stat. Too many disks being reported in /proc/stat also caused buffer overflows when trying to print out the data. The code in led.c from the parisc architecture has not apparently been recompiled under recent versions of 2.5, since it references kstat.dk_drive which doesn't exist in later versions. Accordingly, I've added an #ifdef 0 and a comment to that code so that it may at least compile, albeit without one feature -- a step up from its state now. If it is preferable to keep the broken code in, that patch may easily be excised from below.
-
Andrew Morton authored
We're currently incrementing /proc/vmstat:pgalloc in front of the per-cpu page queues, and incrementing /proc/vmstat:pgfree behind the per-cpu queues. So they get out of whack. Change it so that we increment the counters each time someone requests a page. ie: they're both in front of the queues. Also, remove a duplicated prep_new_page() call and as a consequence, drop the whole additional list walk in rmqueue_bulk().
-
Andrew Morton authored
There was some strange code in the __getblk()/__find_get_block()/ __bread() area which was performimg multiple bh_lru_install() calls as well as multiple touch_buffer() calls. Fix all that up. We only need to run bh_lru_install() and touch_buffer() in __find_get_block(). Because if the block wasn't found, __getblk() will create it and will re-run __find_get_block(). Also document a few things and make a couple of internal symbols static to buffer.c Also, don't run __find_get_block() from within unmap_underlying_metadata(). We hardly expect to find that block inside the LRU. And we hardly expect to use it as metadata in the near future so there's no point in letting it evict another buffer if we found it. So just go straight into the pagecache lookup for unmap_underlying_metadata().
-
Andrew Morton authored
Patch from Lev Makhlis <mlev@despammed.com> The disk accounting will overflow after 4,000,000 seconds. Extend that by a factor of 1000.
-
Andrew Morton authored
Patch from William Lee Irwin III <wli@holomorphy.com> This patch makes various private structures and procedures static.
-
Andrew Morton authored
Patch from William Lee Irwin III <wli@holomorphy.com> This patch removes hugetlb's intrusion into /proc/
-
Andrew Morton authored
Patch from William Lee Irwin III <wli@holomorphy.com> This patch removes hugetlb's intrusion into kernel/sysctl.c
-
Andrew Morton authored
Patch from William Lee Irwin III <wli@holomorphy.com> This patch internalizes hugetlb initialization, implementing a command-line option in the process.
-
Andrew Morton authored
Patch from William Lee Irwin III <wli@holomorphy.com> This patch removes the unused function unlink_vma().
-
Andrew Morton authored
Patch from William Lee Irwin III <wli@holomorphy.com> This patch eliminates zap_hugetlb_resources, along with its usages. This actually fixes bugs, as zap_hugetlb_resources was itself buggy.
-
Andrew Morton authored
Patch from William Lee Irwin III <wli@holomorphy.com> Idle time accounting is disturbed by the iowait statistics, for several reasons: (1) iowait time is not subdivided among cpus. The only way the distinction between idle time subtracted from cpus (in order to be accounted as iowait) can be made is by summing counters for a total and dividing the individual tick counters by the proportions. Any tick type resolution which is not properly per-cpu breaks this, meaning that cpus which are entirely idle, when any iowait is present on the system, will have all idle ticks accounted to iowait instead of true idle time. (2) kstat_read_proc() misreports iowait time The idle tick counter is passed twice to the sprintf(), once in the idle tick position, and once in the iowait tick position. (3) performance enhancement The O(1) scheduler was very carefully constructed to perform accesses only to localized cachelines whenever possible. The global counter violates one of its core design principles, and the localization of "most" accesses is in greater harmony with its overall design and provides (at the very least) a qualitative performance improvement wrt. cache. The method of correcting this is simple: embed an atomic iowait counter in the runqueues, find the runqueue being manipulated in io_schedule(), increment its atomic counter prior to schedule(), and decrement it after returning from schedule(), which is guaranteed to be the same one, as the counter incremented is tracked as a variable local to the procedure. Then simply sum to obtain a global iowait statistic. (Atomicity is required as the post-wait decrement may occur on a different cpu from the one owning the counter.) io_schedule() and io_schedule_timeout() are moved to sched.c as they must access the runqueues, which are private to sched.c, and nr_iowait() is created in order to export the sum of all runqueues' nr_iowait().
-
Andrew Morton authored
A patch from Janet Morgan <janetmor@us.ibm.com> If you feed an iovec with a bad address not at the zeroeth segment into readv or writev, it returns the wrong value. iovec 1: base is 8050b20 len is 64 iovec 2: base is ffffffff len is 64 iovec 3: base is 8050ba0 len is 64 The writev should return 64 bytes but is returning 128 This is because we've added the new segment's length into `count' before running access_ok(). The patch changes it to fix that up on the slow path, if access_ok() fails.
-
Andrew Morton authored
- Revert the 3c59x.c compile warning fixes. The return type of inl() was reverted back to the correct 32 bits. - Fix an uninitialised timer in ext3 (JBD debug mode only) - run setup_ro_after() during initialisation. - Fix ifdef/endif imbalance in JFS
-
Jaroslav Kysela authored
- CS4231 - added sparc support to merge sparc/cs4231.c code - ICE1712 - added support for AK4529 - added support for Midiman M-Audio Delta410 - USB driver - fixed against newer USB API but allow compilation under 2.4
-
Jaroslav Kysela authored
- CS46xx driver - DSP is started after initializing AC97 codecs - rewrite SPDIF output stuff - variable period size support on playback and capture - DAC volume mechanism rewrite - IEC958 input volume mechanism rewrite - added "AC3 Mode Switch" in mixer - code cleanups - ENS1371 driver - added definitions for the ES1373 chip - added code to control IEC958 (S/PDIF) channel status register
-
Jaroslav Kysela authored
- Moved initialization of card->id to card_register() function. The new default id is composed from the shortname given by driver. - ES18xx - Fixed power management defines - VIA82xx - The SG table is build inside hw_params (outside spinlock - memory allocation).
-
Jaroslav Kysela authored
- added kmalloc_nocheck and vmalloc_nocheck macros - PCM - the page callback returns 'struct page *' - fixed delay function (moved put_user call outside spinlock) - OSS PCM emulation - fixed read() lock when stream was terminated and no data is available - EMU8000 - added 'can schedule' condition to snd_emu8000_write_wait() - AC'97 - added ALC650 support - ALI5451 - removed double free
-
- 09 Nov, 2002 10 commits
-
-
Trond Myklebust authored
DOH!!! Somebody clone me a replacement brain: I must have burnt another fuse. It turns out the new readpages was evading our read/write serialization. This broke things like 'ld' over NFS, which rewrites chunks of files it has already written.
-
Christoph Hellwig authored
last direct call into fs code is gone
-
Manfred Spraul authored
Sufficient locking for fifo_open is provided by the inode semaphore.
-
Roman Zippel authored
- fix loading of another configuration - accept longer strings in configuration - move conf_filename to mconf.c (it's the only user) - fix off by one error during string scanning
-
Hirokazu Takahashi authored
I enhanced the sendfile method so that we could pass a proper actor to it (which exposes the full power of the internal implementation). Now knfsd calls the sendfile vector rather than depending on a readpage() that hasn't been set up fully.
-
bk://bkbits.ras.ucalgary.ca/rgooch-2.5Linus Torvalds authored
into home.transmeta.com:/home/torvalds/v2.5/linux
-
Richard Gooch authored
into atnf.csiro.au:/workaholix1/kernel/v2.5/rgooch-2.5
-
David Hinds authored
Sorry, one small goof...
-
Zwane Mwaikambo authored
Use new "nmi_enter/exit()" which acts the same as the regular irq entries (increases the preempt count appropriately), but doesn't try to start processing softirqs on nmi exit (it just decreases the count).
-
Linus Torvalds authored
-
- 08 Nov, 2002 1 commit
-
-
http://ppc.bkbits.net/for-linus-ppc64Linus Torvalds authored
into home.transmeta.com:/home/torvalds/v2.5/linux
-
- 09 Nov, 2002 7 commits
-
-
Anton Blanchard authored
into samba.org:/scratch/anton/linux-2.5_ppc64_work
-
Anton Blanchard authored
into samba.org:/scratch/anton/linux-2.5_ppc64_work
-
Anton Blanchard authored
into samba.org:/scratch/anton/linux-2.5_ppc64_work
-
Anton Blanchard authored
-
Anton Blanchard authored
into samba.org:/home/anton/ppc64/for-linus-ppc64
-
bk://ppc.bkbits.net/for-linus-ppc64Anton Blanchard authored
into samba.org:/home/anton/ppc64/for-linus-ppc64
-
Anton Blanchard authored
-
- 08 Nov, 2002 4 commits
-
-
Anton Blanchard authored
-
Anton Blanchard authored
-
Trond Myklebust authored
Given the previous set of patches that integrate NFS with the VM + pdflush memory control, and add mechanisms to cope with low memory conditions, the time is now ripe to rip out the 256 outstanding request limit, as well as the associated LRU list in the superblock, and the nfs_flushd daemon. The following patch offers a 30% speed increase on my test setup with 512MB of core memory (iozone using 4 threads each writing a 512MB file over 100Mbit to a Solaris server). Setting mem=64m, I still see a 2-3% speed increase.
-
Trond Myklebust authored
In order to better cope with low memory conditions, add slabs for struct rpc_task and 'small' RPC buffers of <= 2k. Protect these using mempools. The only case where we appear to use buffers of > 2k is when symlinking, and is due to the fact that the path can be up to 4k in length. For the moment, we just use kmalloc(), but it may be worth it some time in the near future to convert nfs_symlink() to use pages.
-