- 15 Oct, 2002 40 commits
-
-
Peter Chubb authored
Yes it's a GCC optimiser bug. I'm surprised I didn't see it: I tried a whole heap of different compilers on that code, and had problems only on the earlier similar code in raid0_run(). I didn't try redhat's compilers (I run debian) but didn't expect the behaviour to be that different. Anyway, please apply this patch (which also fixes the chunk overlap problems).
-
Tim Wright authored
there was a bug in fysnc_buffers_list() in 2.4 (fixed in 2.4.19) that could cause the function to return without having written the current contents of all the buffers. Obviously, this could be bad for anybody relying on ordering using O_SYNC or fsync(). If an I/O was already in flight for a particular bh at the time of the call to fsync_buffers_list(), ll_rw_block() will not initiate a new I/O even though the contents may have changed. It is therefore necessary to wait before the call. Here's a patch against 2.5.42 that applies the same fix.
-
-
Linus Torvalds authored
into home.transmeta.com:/home/torvalds/v2.5/linux
-
Doug Ledford authored
Rename queue_depth to current_queue_depth so that: A) we represent the true purpose of the variable B) we catch anyone using it wrongly
-
Doug Ledford authored
This patch for dpt_i2o fixes TCQ stuff, but doesn't solve DMA mapping issues (so it still doesn't work, but it's not because of TCQ). Getting around to fixing DMA mapping API issues is much more work per driver than the TCQ stuff, so I'm putting it off until later. dpti.h: Update template dpt_i2o.c: Update to new TCQ scheme
-
Doug Ledford authored
aic7xxx_linux_host.h: Update host template aic7xxx_linux.c: Update to new TCQ scheme
-
Doug Ledford authored
linit.c: Update to use slave_attach
-
Doug Ledford authored
eata.h: Update template eata.c: Add slave_attach and new TCQ method
-
Doug Ledford authored
qla1280.h: Update device template qla1280.c: Update to use slave_attach for setting queue depth
-
Doug Ledford authored
advansys.h: Update host template to include slave_attach advansys.c: Update to use slave_attach instead of select_queue_depths
-
Doug Ledford authored
drivers/scsi/esp.c: Fix the build. scsi.h: Add struct list_head items for future (but soon) use hosts.h: Remove select_queue_depths from host struct, add struct list stuff for proper list linking of host structs hosts.c: Don't touch select_queue_depths any longer
-
Doug Ledford authored
ips.h: Since we now have proper tagged depth setting, make the cmd_per_lun value reasonable for untagged devices like it is suppossed to be.
-
Doug Ledford authored
More scsi TCQ updates, tweak to ServeRAID, tweak scsi_scan, make BusLogic use new method
-
Linus Torvalds authored
-
http://jdike.stearns.org:5000/fixes-2.5Linus Torvalds authored
into home.transmeta.com:/home/torvalds/v2.5/linux
-
Kai Mäkisara authored
- switch to using scsi_ioctl() for drive door locking and unlocking instead of private code - use a driver internal flag to save the reset status until tape is positioned into known location - set driver state properly for all partitions after reset - change put_device() to driver_unregister() in st_detach() - C99 initializer changes (from Art Haas)
-
http://jfs.bkbits.net/linux-2.5Linus Torvalds authored
into home.transmeta.com:/home/torvalds/v2.5/linux
-
Ingo Molnar authored
This is my current futex patchset against BK-curr. It mostly includes must-have crash/correctness fixes from Martin Wirth, tested and reworked somewhat by myself: - crash fix: futex_close did not detach from the vcache. Detach cleanups. (Martin Wirth) - memory leak fix: forgotten put_page() in a rare path in __pin_page(). (Martin Wirth) - crash fix: do not do any quickcheck in unqueue_me(). (Martin, me) - correctness fix: the fastpath in __pin_page() now handles reserved pages the same way get_user_pages() does. (Martin Wirth) - queueing improvement: __attach_vcache() now uses list_add_tail() to avoid the reversal of the futex queue if a COW happens. (Martin Wirth) - simplified alignment check in sys_futex. (Martin Wirth) - comment fix: make it clear how the vcache hash quickcheck works. (me)
-
John Levon authored
Make dcookies use a stable size regardless of whether we're on a 32-bit or 64-bit platform.
-
John Levon authored
Finally, add the i386 timer-interrupt and perfctr drivers for i386
-
John Levon authored
Add the oprofile core. The core design is very similar to that we discussed in private mail. The nasty details should be documented in the patch below.
-
John Levon authored
Add the MSR defines oprofile uses
-
John Levon authored
This provides a simple api to let oprofile hook into the NMI interrupt for the perfctr profiler.
-
John Levon authored
This implements a simple hook into the profiling timer for x86 so that non-perfctr machines can still use oprofile. This has proven useful for laptops and the like. It also reduces header dependencies a bit by centralising readprofile code
-
John Levon authored
This implements the persistent path-to-dcookies mapping, and adds a system call for the user-space profiler to look up the profile data, so it can tag profiles to specific binaries.
-
John Levon authored
This implements the simple hooks we need to catch unmappings, and to make sure no stale task_struct*'s are ever used by the main oprofile core mechanism. If disabled, it compiles to nothing.
-
Alexander Viro authored
Quite a few drivers don't need ->open() anymore - all it did was checking that minor is good (== gendisk exists). That is handled by generic code now...
-
Alexander Viro authored
There we go - now we can put a reference to gendisk into block_device. Which we do in do_open(). Most of the callers of get_gendisk() are simply using bdev->bd_disk now (and most of the put_disk() calls introduced on previous step disappear). We also put that pointer into struct request - ->rq_disk. That allows to get rid of disk_index() kludges in md.c (we simply count relevant IO in the struct gendisk fields) and kill the export of get_gendisk(). Notice that by now we can move _all_ IO counters into gendisk. That will kill a bunch of per-major arrays and more importantly, allow to merge sard in clean way. FWIW, we probably could show them as disk/partitions attributes in driverfs...
-
Alexander Viro authored
Finally. We use disk->dev.refcount as a gendisk refcount. New helper - get_disk(): atomic_inc on refcount. get_gendisk() does it on return, callers of get_gendisk() do put_disk() when they are done.
-
Alexander Viro authored
* disk->disk_dev is initialized in alloc_disk(), device_add()'d in add_disk(), device_del()'d in unregister_disk() and device_put() in put_disk(). * devices of partitions are made its children. * attributes of disk one: dev (dev_t of the thing), range (number of minors) and size (in sectors). * attributes of partition ones: dev (ditto), start (in sectors) and size (in sectors). * disk devices are put on a new bus - "block" * if caller of add_disk() had set disk->driverfs_dev, we set symlinks: "device" from disk to underlying device and "block" from underlying device to disk. * ->release() of disk_dev frees disk and disk->part. At that point we have sane driverfs subtree for each gendisk and refcount of its root (disk->disk_dev) can act as gendisk refcount.
-
Alexander Viro authored
* update_partition() split into add_partition() and delete_partition(). * all updating of ->part[] is switched to these two (including initial filling/final cleaning). * per-partition devices are allocated on-demand and never reused. We allocate struct device in add_partition() and put reference to it into hd_struct. ->release() for that struct device frees it. delete_partition() removes reference from hd_struct and does put_device() on it. Basically, we get rid of problems with reused struct device by never reusing them... At that point devices for partitions are nice and sane.
-
Alexander Viro authored
guts of blkpg.c and blkdev_ioctl() sanitized up and moved into a new file - drivers/block/ioctl.c. blkpg.c is gone.
-
Alexander Viro authored
new driverfs helpers - device_initialize/device_add and device_del. The latter is device_unregister() sans the final put_device(). The former is splitup of device_register() into initialization and insertion into tree.
-
Alexander Viro authored
new field - disk->minors (1 << disk->minor_shift). Almost all uses of ->minor_shift had that form and thus had been replaced.
-
Alexander Viro authored
allocation of ->part[] moved to alloc_disk(); alloc_disk() got an argument (number of minors expected). Freeing is in put_disk().
-
bk://linux-bt.bkbits.net/bt-2.5Linus Torvalds authored
into home.transmeta.com:/home/torvalds/v2.5/linux
-
Jeff Dike authored
-
Jeff Dike authored
arch and os Makefiles.
-
Linus Torvalds authored
-