24 Mar, 2006
1 commit
-
Signed-off-by: Jens Axboe
23 Mar, 2006
1 commit
-
Semaphore to mutex conversion.
The conversion was generated via scripts, and the result was validated
automatically via a script as well.Signed-off-by: Arjan van de Ven
Signed-off-by: Ingo Molnar
Acked-by: Jens Axboe
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds
21 Mar, 2006
1 commit
-
Convert the kobj_map code to use a mutex instead of a semaphore. It
converts the single two users as well, genhd.c and char_dev.c.Signed-off-by: Jes Sorensen
Signed-off-by: Andrew Morton
Signed-off-by: Greg Kroah-Hartman
19 Mar, 2006
17 commits
-
Signed-off-by: Al Viro
-
Signed-off-by: Al Viro
-
Signed-off-by: Al Viro
-
Signed-off-by: Al Viro
-
Signed-off-by: Al Viro
-
Signed-off-by: Al Viro
-
Signed-off-by: Al Viro
-
Signed-off-by: Al Viro
-
Signed-off-by: Al Viro
-
Signed-off-by: Al Viro
-
We don't need to pin ->key down; ->cfqq->cfqd will do that for us.
Incidentally, that stops the leak we had - that reference was never
dropped.Signed-off-by: Al Viro
-
If somebody does a hash lookup for cfq_queue while ioprio of an async queue
is elevated, they shouldn't end up stuck with lowered ioprio when we go back.
Fix is to use ->org_ioprio{,class} in hash lookups.Signed-off-by: Al Viro
-
Signed-off-by: Al Viro
-
Signed-off-by: Al Viro
09 Mar, 2006
1 commit
-
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
Cc: Jens Axboe
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds
28 Feb, 2006
1 commit
-
During testing of SLES10, we encountered a hang in the CFQ io scheduler.
Turns out the deferred slice expiry logic is buggy, so remove that for
now. We could be left with an idle queue that would never wake up. So
kill that logic, always expire immediately. Also fix a potential timer
race condition.Patch looks bigger than it is, because it moves a function.
Signed-off-by: Jens Axboe
Signed-off-by: Linus Torvalds
08 Feb, 2006
3 commits
-
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
Acked-by: Jens Axboe
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
When issuing an SG_IO ioctl through sd that resulted in an unrecoverable
error, a nearly infinite retry loop was discovered. This is due to the
fact that the block layer SG_IO code is not setting up rq->retries. This
patch also fixes up the sg_scsi_ioctl path.Signed-off-by: Brian King
Signed-off-by: Jens Axboe
06 Feb, 2006
3 commits
-
q->ordcolor must not be flipped on SOFTBARRIER.
Signed-off-by: Tejun Heo
Acked-by: Jens Axboe
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
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
Acked-by: Jens Axboe
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
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
Cc: "David S. Miller"
Cc: James Bottomley
Acked-by: Ingo Molnar
Cc: Jens Axboe
Cc: Anton Blanchard
Acked-by: William Irwin
Cc: Andi Kleen
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds
02 Feb, 2006
1 commit
-
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
Signed-off-by: Alasdair G Kergon
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds
31 Jan, 2006
1 commit
-
Signed-off-by: Jens Axboe
24 Jan, 2006
5 commits
-
This makes XFS barrier mounts succeed on my SCSI system.
Signed-off-by: Tetsuo Takata
Signed-off-by: Jens Axboe -
Jens has decided that allowing the default scheduler to be a module is
a bug, and should not be allowed under kconfig. However, I find that
scenario useful for debugging, and wish for the kernel to be able to
handle this situation without OOPSing, if I enable such an option in
the .config directly. This patch dynamically checks for the presence
of the compiled-in default, and falls back to no-op, emitting a
suitable error message, when the default is not availableTested for a range of boot options on 2.6.16-rc1-mm2.
Signed-off-by: Nate Diller
Signed-off-by: Jens Axboe -
My previous default iosched patch did a poor job dealing with the
'elevator=' boot-time option. The old behavior falls back to the
compiled-in default if the requested one is not registered at boot
time. This patch dynamically evaluates which default
to use, and emits a suitable error message when the requested scheduler
is not available. It also does the 'as' -> 'anticipatory' conversion
before elevator registration, which along with a modified registration
function, allows it to correctly indicate which default scheduler is
in use.Tested for a range of boot options on 2.6.16-rc1-mm2.
Signed-off-by: Nate Diller
Signed-off-by: Jens Axboe -
It can legally be called with interrupts/preemption enabled.
Signed-off-by: Jens Axboe
-
IDE lba48 can support full 64k request size, which overflows the
max_hw_sectors variable.Signed-off-by: Jens Axboe
16 Jan, 2006
2 commits
-
Signed-off-by: Jens Axboe
-
Signed-off-by: Chuck Ebbert
Signed-off-by: Jens Axboe
15 Jan, 2006
1 commit
-
A Christoph suggested that the /proc/devices file be converted to use the
seq_file interface. This patch does that.I've obxerved one or two installation that had sufficiently large sans that
they overran the 4k limit on /proc/devices.Signed-off-by: Neil Horman
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds
13 Jan, 2006
1 commit
-
If ordered tag isn't supported, request ordering for barrier
sequencing is performed by queue draining, which basically hangs the
request queue until elv_completed_request() reports completion of all
previous fs requests.The condition check in elv_completed_request() was only performed for
fs requests. If a special request is queued between the last
to-be-drained request and the barrier sequence, draining is never
completed and the queue is stalled forever.This patch moves the end-of-draining condition check such that it's
performed for all requests.Signed-off-by: Tejun Heo
Signed-off-by: Jens Axboe
Signed-off-by: Linus Torvalds
12 Jan, 2006
1 commit
-
- Move capable() from sched.h to capability.h;
- Use where capable() is used
(in include/, block/, ipc/, kernel/, a few drivers/,
mm/, security/, & sound/;
many more drivers/ to go)Signed-off-by: Randy Dunlap
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds