- 11 Oct, 2002 3 commits
-
-
David S. Miller authored
-
David S. Miller authored
-
David S. Miller authored
-
- 10 Oct, 2002 12 commits
-
-
David S. Miller authored
-
John Stultz authored
In order to demonstrate how new time-sources are added to my timer-changes patch. Here is my current version of my cyclone-timer patch for 2.5.41. This uses the infrastructure set up in the timer-changes_A4 patch set to add the cyclone counter (found on IBM Summit Based hardware) as a time-source. The current code is not enabled as it also depends on James Cleverdon's 2.5 summit patch, however it illustrates how cleanly new time-sources can be added.
-
John Stultz authored
This is the final part 3 of 3 of my timer-change patch. Part 3 integrates the moved code (from part 2) into the new infrastructure (from part 1).
-
John Stultz authored
This is part 2 of 3 of my timer-change patch. Part 2 is just a bulk move of code out of time.c and into timer_pit.c and timer_tsc.c. No code is changed, only moved. Please note, this code will not compile without the final third part of this patch collection. This was done for readability alone.
-
John Stultz authored
The i386 time.c code is turning into a mess. We've got multiple functions that do the same thing, only with different hardware, all surrounded #ifdefs and even more difficult to follow #ifndefs. George Anzinger is introducing a new ACPIpm time source, I'm going to attempt to add the cyclone counter as a time source, and in the future there will be HPET to deal with. These will not go in cleanly together as things are now. Inspired by suggestions from Alan, this collection of patches tries to clean up time.c by breaking out the PIT and TSC specific parts into their own files. Additionally the patch creates an abstract interface to use these existing time soruces, as well as make it easier to add future time sources. It introduces "struct timer_ops" which gives the time code a clear interface to use these different time sources. It also allows for clearer conditional compilation of these various time sources. This first patch (part 1 of 3) provides the infrastructure needed via the timer_ops structure, as well as the select_timer() function for choosing the best available timer.
-
Andrew Morton authored
Should resolve an ongoing fiasco concerning what we should return to userspace if they do a readv or writev of zero segments. SuS is ambiguous, but implies EINVAL. We're currently returning EINVAL, but 2.4 returns zero. I think zero makes more sense, and it is what 2.4 does.
-
Andrew Morton authored
The changed sched_yield() semantics have made ext3's transaction batching terribly slow. Apparently a schedule() fixes that, although it probably breaks transaction batching. This patch largely fixes my complaints about the new scheduler being extremely sluggish to interactive applications. Evidently those applications were calling fsync() and were spending extremely long periods in sched_yield().
-
Andrew Morton authored
From Hugh Dickins. radix_tree_reserve() exists solely for the tmpfs move_to_swap_cache() and move_from_swap_cache() functions, and yet they don't need it: there is no problem in the one page being simultaneously listed in two radix trees (while both locks are held). Use radix_tree_insert(), and remove radix_tree_reserve(); also removed a few blank lines.
-
Andrew Morton authored
Fix the raw driver by tricking it into performing O_DIRECT IO against the bound blockdev. - rewrite the i_mapping for /dev/raw/raw0 to point at the same thing as bdev->bd_inode->i_mapping. We've performed a bdget() against the blockdev, which should pin it for the correct lifetime. - set the O_DIRECT bit on the caller's file->flags.
-
Andrew Morton authored
The atomicicty fix for move_one_page() was not quite right. We only do the page_table_present() test if CONFIG_HIGHPTE=y. Which is fine, but even with CONFIG_HIGHPTE=n, the pte mapping functions still do an inc_preempt_count() due to their unconditional kmap_atomic(). So we get a might_sleep() warning. The warning is actually bogus, because those pte's are always in direct-mapped memory. So hm. Three fixes suggest themselves: 1: Run the page_table_present() test if CONFIG_HIGHMEM. Rejected: penalises non-pte_highmem setups 2: Make kmap_atomic() not do inc_preempt_count() is the page was direct mapped. Rejected: I don't think we want kmap_atomic side effects to be varying according to the page which was passed. 3: Change the pte mapping functions so they don't run kmap_atomic at all if CONFIG_HIGHPTE=n This is what I did. And guess what? For CONFIG_HIGHMEM=y, CONFIG_HIGHPTE=n this patch shrinks the kernel by 5 kbytes. Because kmap_atomic is inlined. The lesson: we do way too much damn inlining.
-
Andrew Morton authored
I have invented a new software development methodology! You send an email to Hugh saying "I don't have the foggiest idea why this guy's kernel is oopsing" and next morning, you get a patch! I shall patent this. Since 2.5.3, move_vma() has been passing a freed vma into move_page_tables(). Fix it to move back to the previous vma in the list if we're about to delete this one. Thanks to Morten Helgesen for patient reporting, diagnosis and testing.
-
Ingo Molnar authored
This is my latest timer patchset, it makes del_timer_sync() a bit more robust wrt. code that re-adds timers from the timer handler. Other changes in the patch: - clean up cascading a bit. - do not save flags in __run_timer_list - we enter from an irqs-enabled tasklet.
-
- 09 Oct, 2002 25 commits
-
-
Pasi Sarolahti authored
-
David S. Miller authored
-
Stephen Rothwell authored
This small patch is extracted from George Anzinger's High-res-timer patches.
-
bk://are.twiddle.net/axp-2.5Linus Torvalds authored
into home.transmeta.com:/home/torvalds/v2.5/linux
-
Richard Henderson authored
-
Pasi Sarolahti authored
Motivation for this modification is that especially on some wireless network technologies there are delay spikes that trigger RTO even though no packets are lost. F-RTO sender continues by sending new data after RTO retransmission in order to avoid unnecessary retransmissions in that case. If the sender sees any duplicate acks after the RTO retransmission, it reverts to traditional slow start retransmissions. If new acks arrive after forward transmissions, they very likely indicate that the RTO was indeed spurious and the sender can continue sending new data (because only one segment was retransmitted).
-
ssh://are.twiddle.net/BK/axp-2.5Richard Henderson authored
into dot.sfbay.redhat.com:/dot/bang/rth/linux/axp-2.5
-
David Jeffery authored
2 bug fixes for scsi pass through When talking directly to scsi devices, the driver would sometimes get two things wrong. We could set too short of a timeout. Or, we could confuse the adapter by having non-zero values in certain fields which we shouldn't have been using. This patch corrects these problems.
-
David Jeffery authored
2 minor bug fixes. The first section makes sure we limit the size of the sense_buffer copy to the target buffer's size so that we don't overflow the sence_buffer. The other sections remove some pointer arithmatic that is wrong on 64bit machines do to padding. Instead, just call the pci_map functions on the buffer.
-
David Jeffery authored
This is by far the biggest patch. It is a rewrite of the driver's horrid locking. In addition to the host_lock, the driver used to have 4 other locks per adapter! It had a redundant ha_lock and a lock for each of 3 queues. In a few places it also played with atomic bit setting. And almost all of it was useless as the host_lock was already held. This patch cleans up this locking nightmare. The driver now uses the host_lock exclusively. Only a few places needed to add calls to lock the host_lock. Most of this patch is deletion of useless extra locking.
-
David Jeffery authored
This patch adds an Adaptec copyright, makes a few minor comment changes, and removes a few unneeded macros.
-
David Jeffery authored
This patch is some simple code consolidation. A new function ips_abort_init() is created and consolidates some repeated code that is used if there is an error during initialization of the adapter.
-
David Jeffery authored
This removes several unused header includes and allows the driver to compile by no longer trying to include <linux/tqueue.h> . You may have already gotten a patch to remove tqueue.h from someone else. This patch also corrects the spelling of my last name in the MAINTAINERS file. You'd think I'd be used to seeing it spelled wrong by now.
-
Richard Henderson authored
into are.twiddle.net:/home/rth/BK/axp-2.5
-
Linus Torvalds authored
indent -kr -i8 -bri0 -l255 wd7000.{c,h}
-
Doug Ledford authored
-
Robert Love authored
Comment above getpid() is wrong. This patch fixes it, and expands the comment to explain why on earth we have getpid() returning ->tgid and not ->pid.
-
Robert Love authored
Now that brlocks loop over NR_CPUS, on SMP every br_lock/br_unlock results in the acquire/release of 32 locks. This incs/decs the preempt_count by 32. Since we only have 7 bits now for actually storing the lock depth, we cannot nest but 3 locks deep. I doubt we ever acquire three brlocks concurrently, but it is still a concern. Attached patch disables/enables preemption explicitly once and only once for each lock/unlock. This is also an optimization as it removes 31 incs, decs, and conditionals. :) Problem reported by Andrew Morton.
-
Alan Cox authored
Not much here, just some tidying/checking. This driver can't alas use NAPI in 2.5. Note however it has no panics or BUG()s so appears to meet the carrier grade guidelines ;) - Clarified authors so I get the mail not Donald - Added missing MODULE_ bits - Moved junk into 3c501.h
-
Alan Cox authored
- new locking - new_eh - use ->page/->offset
-
bk://ldm.bkbits.net/linux-2.5-ideLinus Torvalds authored
into penguin.transmeta.com:/home/penguin/torvalds/repositories/kernel/linux
-
Patrick Mochel authored
This was accidentally dropped before, but re-added now to completely mimic behavior of the reboot notifier IDE used to have.
-
Patrick Mochel authored
The remove() method is generic for all drives, and set in ide_driver_t::gen_driver. The call simply forwards the call to ide_driver_t::standby(). This obviates the need for IDE reboot notifier. The core iterates over all present devices in device_shutdown() and unregisters each one.
-
Patrick Mochel authored
This adds struct device_driver gen_driver; to ide_driver_t, which is filled in with necessary fields when an ide driver calls ide_register_driver(). That then registers the driver with the driver model core. As a result, this gives us the following output in driverfs: # tree -d /sys/bus/ide/drivers/ /sys/bus/ide/drivers/ |-- ide-cdrom `-- ide-disk The suspend/resume callbacks in ide-disk.c have been temporarily disabled until the ide core implements generic methods which forward the calls to the drive drivers.
-
ssh://are.twiddle.net/BK/linus-2.5Richard Henderson authored
into dot.sfbay.redhat.com:/dot/bang/rth/linux/axp-2.5
-