- 17 Nov, 2002 1 commit
-
-
Andi Kleen authored
stat64 has been changed to return jiffies granuality as nsec in previously unused fields. This allows make to make better decisions on when to recompile a file. Follows losely the Solaris API. CURRENT_TIME has been redefined to return struct timespec. The users who don't use it in a inode/attr context have been changed to use a new get_seconds() function. CURRENT_TIME is implemented by an out-of-line function. There is a small performance penalty in this patch. The previous filemap code had an optimization to flush atime only once a second. This is currently gone, which will increase flushes a bit. I believe the correct solution if it should be a problem is to have per super block fields that give an arbitary atime flush granuality - so that you can set it to be only flushed once a hour if you prefer that. I will work on that later in separate patches if the need should arise. struct inode and the attr struct has been changed to store struct timespec instead of time_t for [cma]time. Not all file systems support this granuality, but some like XFS,NFSv3,CIFS,JFS do. The others will currently truncate the nsec part on flushing to disk. There was some discussion on this rounding on l-k previously. I went for simple truncation because there is not much evidence IMHO that the more complicated roundings have any advantages. In practice application will be rather unlikely to notice the rounding anyways - they can only see a difference when an inode is flush from memory and reloaded in less than a second, which is rather unlikely.
-
- 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 3 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.
-