An error occurred fetching the project authors.
- 27 Mar, 2006 1 commit
-
-
NeilBrown authored
This flag should be set for a virtual device iff it is set for all underlying devices. Signed-off-by:
Neil Brown <neilb@suse.de> Signed-off-by:
Andrew Morton <akpm@osdl.org> Signed-off-by:
Linus Torvalds <torvalds@osdl.org>
-
- 23 Mar, 2006 1 commit
-
-
Jens Axboe authored
Signed-off-by:
Jens Axboe <axboe@suse.de>
-
- 18 Mar, 2006 4 commits
-
-
Al Viro authored
-
Al Viro authored
Signed-off-by:
Al Viro <viro@zeniv.linux.org.uk>
-
Al Viro authored
Signed-off-by:
Al Viro <viro@zeniv.linux.org.uk>
-
Al Viro authored
Signed-off-by:
Al Viro <viro@zeniv.linux.org.uk>
-
- 09 Mar, 2006 1 commit
-
-
Andi Kleen authored
The low level PCI DMA mapping functions should handle it in most cases. This should fix problems with depleting the DMA zone early. The old code used precious GFP_DMA memory in many cases where it was not needed. Signed-off-by:
Andi Kleen <ak@suse.de> Cc: Jens Axboe <axboe@suse.de> Signed-off-by:
Andrew Morton <akpm@osdl.org> Signed-off-by:
Linus Torvalds <torvalds@osdl.org>
-
- 08 Feb, 2006 1 commit
-
-
Tejun Heo authored
q->ordcolor must only be flipped on initial queueing of a hardbarrier request. Constructing ordered sequence and requeueing used to pass through __elv_add_request() which flips q->ordcolor when it sees a barrier request. This patch separates out elv_insert() from __elv_add_request() and uses elv_insert() when constructing ordered sequence and requeueing. elv_insert() inserts the given request at the specified position and does nothing else. Signed-off-by:
Tejun Heo <htejun@gmail.com> Acked-by:
Jens Axboe <axboe@suse.de> Signed-off-by:
Andrew Morton <akpm@osdl.org> Signed-off-by:
Linus Torvalds <torvalds@osdl.org>
-
- 05 Feb, 2006 2 commits
-
-
Jens Axboe authored
Previously, if a fs request which was being drained failed and got requeued, blk_do_ordered() didn't allow it to be reissued, which causes queue stall. This patch makes blk_do_ordered() use the sequence of each request to determine whether a request can be issued or not. This fixes the bug and simplifies code. Signed-off-by:
Tejun Heo <htejun@gmail.com> Acked-by:
Jens Axboe <axboe@suse.de> Signed-off-by:
Andrew Morton <akpm@osdl.org> Signed-off-by:
Linus Torvalds <torvalds@osdl.org>
-
Eric Dumazet authored
percpu_data blindly allocates bootmem memory to store NR_CPUS instances of cpudata, instead of allocating memory only for possible cpus. As a preparation for changing that, we need to convert various 0 -> NR_CPUS loops to use for_each_cpu(). (The above only applies to users of asm-generic/percpu.h. powerpc has gone it alone and is presently only allocating memory for present CPUs, so it's currently corrupting memory). Signed-off-by:
Eric Dumazet <dada1@cosmosbay.com> Cc: "David S. Miller" <davem@davemloft.net> Cc: James Bottomley <James.Bottomley@steeleye.com> Acked-by:
Ingo Molnar <mingo@elte.hu> Cc: Jens Axboe <axboe@suse.de> Cc: Anton Blanchard <anton@samba.org> Acked-by:
William Irwin <wli@holomorphy.com> Cc: Andi Kleen <ak@muc.de> Signed-off-by:
Andrew Morton <akpm@osdl.org> Signed-off-by:
Linus Torvalds <torvalds@osdl.org>
-
- 01 Feb, 2006 1 commit
-
-
Jun'ichi "Nick" Nomura authored
Record I/O timing statistics The start time is added to struct dm_io, an existing structure allocated privately internally within dm and attached to each incoming bio. We export disk_round_stats() from block/ll_rw_blk.c instead of creating a private clone. Signed-off-by:
Jun'ichi "Nick" Nomura <j-nomura@ce.jp.nec.com> Signed-off-by:
Alasdair G Kergon <agk@redhat.com> Signed-off-by:
Andrew Morton <akpm@osdl.org> Signed-off-by:
Linus Torvalds <torvalds@osdl.org>
-
- 31 Jan, 2006 1 commit
-
-
Jens Axboe authored
Signed-off-by:
Jens Axboe <axboe@suse.de>
-
- 24 Jan, 2006 3 commits
-
-
Tetsuo Takata authored
This makes XFS barrier mounts succeed on my SCSI system. Signed-off-by:
Tetsuo Takata <takatatt@intellilink.co.jp> Signed-off-by:
Jens Axboe <axboe@suse.de>
-
Jens Axboe authored
It can legally be called with interrupts/preemption enabled. Signed-off-by:
Jens Axboe <axboe@suse.de>
-
Jens Axboe authored
IDE lba48 can support full 64k request size, which overflows the max_hw_sectors variable. Signed-off-by:
Jens Axboe <axboe@suse.de>
-
- 09 Jan, 2006 3 commits
-
-
Jens Axboe authored
Request completion can be a quite heavy process, since it needs to iterate through the entire request and complete the bio's it holds. This patch adds blk_complete_request() which moves this processing into a dedicated block softirq. Signed-off-by:
Jens Axboe <axboe@suse.de>
-
Jens Axboe authored
It's a broken interface, it's done way too late. And apparently it triggers slab problems in recent kernels as well (most likely after the generic dispatch code was merged). So kill it, ide-cd is the only user of it. Signed-off-by:
Jens Axboe <axboe@suse.de>
-
Nicolas Kaiser authored
linux/blkdev.h included twice Signed-off-by:
Nicolas Kaiser <nikai@nikai.net> Signed-off-by:
Jens Axboe <axboe@suse.de>
-
- 06 Jan, 2006 5 commits
-
-
Tejun Heo authored
Reimplement handling of barrier requests. * Flexible handling to deal with various capabilities of target devices. * Retry support for falling back. * Tagged queues which don't support ordered tag can do ordered. Signed-off-by:
Tejun Heo <htejun@gmail.com> Signed-off-by:
Jens Axboe <axboe@suse.de>
-
Tejun Heo authored
Separate out bio initialization part from __make_request. It will be used by the following blk_ordered_reimpl. Signed-off-by:
Tejun Heo <htejun@gmail.com> Signed-off-by:
Jens Axboe <axboe@suse.de>
-
Tejun Heo authored
add @uptodate argument to end_that_request_last() and @error to rq_end_io_fn(). there's no generic way to pass error code to request completion function, making generic error handling of non-fs request difficult (rq->errors is driver-specific and each driver uses it differently). this patch adds @uptodate to end_that_request_last() and @error to rq_end_io_fn(). for fs requests, this doesn't really matter, so just using the same uptodate argument used in the last call to end_that_request_first() should suffice. imho, this can also help the generic command-carrying request jens is working on. Signed-off-by:
tejun heo <htejun@gmail.com> Signed-Off-By:
Jens Axboe <axboe@suse.de>
-
Arjan van de Ven authored
the patch below marks various read-only variables in block/* as const, so that gcc can optimize the use of them; eg gcc will replace the use by the value directly now and will even remove the memory usage of these. Signed-off-by:
Arjan van de Ven <arjan@infradead.org> Signed-off-by:
Jens Axboe <axboe@suse.de>
-
Jens Axboe authored
Originally from: Nick Piggin <nickpiggin@yahoo.com.au> Move current_io_context out of the get_request fastpth. Also try to streamline a few other things in this area. Signed-off-by:
Jens Axboe <axboe@suse.de>
-
- 15 Dec, 2005 2 commits
-
-
Mike Christie authored
- export __blk_put_request and blk_execute_rq_nowait needed for async REQ_BLOCK_PC requests - seperate max_hw_sectors and max_sectors for block/scsi_ioctl.c and SG_IO bio.c helpers per Jens's last comments. Since block/scsi_ioctl.c SG_IO was already testing against max_sectors and SCSI-ml was setting max_sectors and max_hw_sectors to the same value this does not change any scsi SG_IO behavior. It only prepares ll_rw_blk.c, scsi_ioctl.c and bio.c for when SCSI-ml begins to set a valid max_hw_sectors for all LLDs. Today if a LLD does not set it SCSI-ml sets it to a safe default and some LLDs set it to a artificial low value to overcome memory and feedback issues. Note: Since we now cap max_sectors to BLK_DEF_MAX_SECTORS, which is 1024, drivers that used to call blk_queue_max_sectors with a large value of max_sectors will now see the fs requests capped to BLK_DEF_MAX_SECTORS. Signed-off-by:
Mike Christie <michaelc@cs.wisc.edu> Signed-off-by:
James Bottomley <James.Bottomley@SteelEye.com>
-
Mike Christie authored
To send async requests we need these two functions exported. Signed-off-by:
Mike Christie <michaelc@cs.wisc.edu> Signed-off-by:
James Bottomley <James.Bottomley@SteelEye.com>
-
- 18 Nov, 2005 1 commit
-
-
Coywolf Qi Hunt authored
Some leftover comments referring to drivers/block that are now block/. They don't add any information we don't already have, so kill them. Signed-off-by:
Coywolf Qi Hunt <qiyong@fc-cn.com> Signed-off-by:
Jens Axboe <axboe@suse.de>
-
- 04 Nov, 2005 1 commit
-
-
Jens Axboe authored
drivers/block/ is right now a mix of core and driver parts. Lets move the core parts to a new top level directory. Al will move the fs/ related block parts to block/ next. Signed-off-by:
Jens Axboe <axboe@suse.de>
-
- 01 Nov, 2005 2 commits
-
-
Jens Axboe authored
Instead of having ->read_sectors and ->write_sectors, combine the two into ->sectors[2] and similar for the other fields. This saves a branch several places in the io path, since we don't have to care for what the actual io direction is. On my x86-64 box, that's 200 bytes less text in just the core (not counting the various drivers). Signed-off-by:
Jens Axboe <axboe@suse.de>
-
Jens Axboe authored
Right now we do it at queueing time, which works alright for reads (since they are usually sync), but not for async writes since we can queue io a lot faster than we can complete it. This makes the vmstat output look extremely bursty. Signed-off-by:
Jens Axboe <axboe@suse.de>
-
- 28 Oct, 2005 6 commits
-
-
Al Viro authored
Signed-off-by:
Al Viro <viro@zeniv.linux.org.uk> Signed-off-by:
Linus Torvalds <torvalds@osdl.org>
-
Jens Axboe authored
- 100msec sleep is a little excessive, lots of requests can complete in that timeframe. Use 10msec instead. - Rename QUEUE_FLAG_BYPASS to QUEUE_FLAG_ELVSWITCH to indicate what is going on. Signed-off-by:
Jens Axboe <axboe@suse.de>
-
Tejun Heo authored
This patch reimplements elevator switch. This patch assumes generic dispatch queue patchset is applied. * Each request is tagged with REQ_ELVPRIV flag if it has its elevator private data set. * Requests which doesn't have REQ_ELVPRIV flag set never enter iosched. They are always directly back inserted to dispatch queue. Of course, elevator_put_req_fn is called only for requests which have its REQ_ELVPRIV set. * Request queue maintains the current number of requests which have its elevator data set (elevator_set_req_fn called) in q->rq->elvpriv. * If a request queue has QUEUE_FLAG_BYPASS set, elevator private data is not allocated for new requests. To switch to another iosched, we set QUEUE_FLAG_BYPASS and wait until elvpriv goes to zero; then, we attach the new iosched and clears QUEUE_FLAG_BYPASS. New implementation is much simpler and main code paths are less cluttered, IMHO. Signed-off-by:
Tejun Heo <htejun@gmail.com> Signed-off-by:
Jens Axboe <axboe@suse.de>
-
Tejun Heo authored
Implements generic dispatch queue which can replace all dispatch queues implemented by each iosched. This reduces code duplication, eases enforcing semantics over dispatch queue, and simplifies specific ioscheds. Signed-off-by:
Tejun Heo <htejun@gmail.com> Signed-off-by:
Jens Axboe <axboe@suse.de>
-
Chen, Kenneth W authored
disk stat when "now" is different from disk->stamp. Otherwise, we are again needlessly adding zero to the stats. Signed-off-by:
Ken Chen <kenneth.w.chen@intel.com> Signed-off-by:
Jens Axboe <axboe@suse.de>
-
Chen, Kenneth W authored
struct gendisk has these two fields: stamp, stamp_idle. Update to stamp_idle is always in sync with stamp and they are always the same. Therefore, it does not add any value in having two fields tracking same timestamp. Suggest to remove it. Also, we should only update gendisk stats with non-zero value. Advantage is that we don't have to needlessly calculate memory address, and then add zero to the content. Signed-off-by:
Ken Chen <kenneth.w.chen@intel.com> Signed-off-by:
Jens Axboe <axboe@suse.de>
-
- 21 Sep, 2005 1 commit
-
-
Christoph Hellwig authored
This function was removed a while ago, but crept in again via a recent scsi merge. Signed-off-by:
Christoph Hellwig <hch@lst.de> Signed-off-by:
Andrew Morton <akpm@osdl.org> Signed-off-by:
Linus Torvalds <torvalds@osdl.org>
-
- 07 Sep, 2005 1 commit
-
-
Stuart McLaren authored
Per-queue parameters should be updated using the appropriate blk_queue_xxx functions. Signed-off-by:
Stuart McLaren <stuart.mclaren@hp.com> Cc: Jens Axboe <axboe@suse.de> Signed-off-by:
Andrew Morton <akpm@osdl.org> Signed-off-by:
Linus Torvalds <torvalds@osdl.org>
-
- 05 Aug, 2005 1 commit
-
-
Tejun Heo authored
My patch in commit fa72b903 incorrectly removed blk_queue_tag->real_max_depth. The original resize implementation was incorrect in the following points. * actual allocation size of tag_index was shorter than real_max_size, but assumed to be of the same size, possibly causing memory access beyond the allocated area. * bits in tag_map between max_deptn and real_max_depth were initialized to 1's, making the tags permanently reserved. In an attempt to fix above two bugs, I had removed allocation optimization in init_tag_map and real_max_size. Tag map/index were allocated and freed immediately during resize. Unfortunately, I wasn't considering that tag map/index can be resized dynamically with tags beyond new_depth active. This led to accessing freed area after shrinking tags and led to the following bug reporting thread on linux-scsi. http://marc.theaimsgroup.com/?l=linux-scsi&m=112319898111885&w=2 To fix the problem, I've revived real_max_depth without allocation optimization in init_tag_map, and Andrew Vasquez confirmed that the problem was fixed. As Jens is not going to be available for a week, he asked me to make sure that this patch reaches you. http://marc.theaimsgroup.com/?l=linux-scsi&m=112325778530886&w=2 Also, a comment was added to make sure that real_max_size is needed for dynamic shrinking. Signed-off-by:
Tejun Heo <htejun@gmail.com> Signed-off-by:
Andrew Morton <akpm@osdl.org> Signed-off-by:
Linus Torvalds <torvalds@osdl.org>
-
- 29 Jun, 2005 2 commits
-
-
Hugh Dickins authored
get_request is now expected to be holding on to queue_lock, with interrupts disabled, when it returns NULL; but one path forgot that, causing all kinds of nastiness under swap load - badness backtraces, strange failures, BUGs. Signed-off-by:
Hugh Dickins <hugh@veritas.com> Signed-off-by:
Linus Torvalds <torvalds@osdl.org>
-
Nick Piggin authored
get_io_context needlessly turned off interrupts and checked for racing io context creations. Both of which aren't needed, because the io context can only be created while in process context of the current process. Also, split the function in 2. A light version, current_io_context does not elevate the reference count specifically, but can be used when in process context, because the process holds a reference itself. Signed-off-by:
Nick Piggin <nickpiggin@yahoo.com.au> Cc: Jens Axboe <axboe@suse.de> Signed-off-by:
Andrew Morton <akpm@osdl.org> Signed-off-by:
Linus Torvalds <torvalds@osdl.org>
-