Refresh from git tree

This commit is contained in:
Josh Boyer 2015-04-29 07:02:09 -04:00
parent 8db85be13f
commit 90c43481e7
2 changed files with 12 additions and 7 deletions

View File

@ -43,7 +43,7 @@ Signed-off-by: Josh Stone <jistone@redhat.com>
2 files changed, 21 insertions(+), 1 deletion(-)
diff --git a/Makefile b/Makefile
index fbd43bfe4445..4bc89d2a3508 100644
index f499cd2f5738..9c4ef4809f28 100644
--- a/Makefile
+++ b/Makefile
@@ -706,7 +706,11 @@ KBUILD_CFLAGS += -fomit-frame-pointer

View File

@ -1,3 +1,7 @@
From: Ming Lei <ming.lei@canonical.com>
Date: Tue, 28 Apr 2015 14:40:49 -0400
Subject: [PATCH] blk: loop: avoid too many pending work IO
If there are too many pending per work I/O, too many
high priority work thread can be generated so that
system performance can be effected.
@ -32,10 +36,10 @@ Signed-off-by: Ming Lei <ming.lei@canonical.com>
2 files changed, 19 insertions(+), 2 deletions(-)
diff --git a/drivers/block/loop.c b/drivers/block/loop.c
index d7173cb..4db0301 100644
index d1f168b73634..453bceec22f9 100644
--- a/drivers/block/loop.c
+++ b/drivers/block/loop.c
@@ -1425,13 +1425,24 @@ static int loop_queue_rq(struct blk_mq_hw_ctx *hctx,
@@ -1477,13 +1477,24 @@ static int loop_queue_rq(struct blk_mq_hw_ctx *hctx,
const struct blk_mq_queue_data *bd)
{
struct loop_cmd *cmd = blk_mq_rq_to_pdu(bd->rq);
@ -62,7 +66,7 @@ index d7173cb..4db0301 100644
spin_lock_irq(&lo->lo_lock);
if (lo->write_started)
need_sched = false;
@@ -1443,6 +1454,8 @@ static int loop_queue_rq(struct blk_mq_hw_ctx *hctx,
@@ -1495,6 +1506,8 @@ static int loop_queue_rq(struct blk_mq_hw_ctx *hctx,
if (need_sched)
queue_work(loop_wq, &lo->write_work);
} else {
@ -71,7 +75,7 @@ index d7173cb..4db0301 100644
queue_work(loop_wq, &cmd->read_work);
}
@@ -1467,6 +1480,8 @@ static void loop_handle_cmd(struct loop_cmd *cmd)
@@ -1519,6 +1532,8 @@ static void loop_handle_cmd(struct loop_cmd *cmd)
if (ret)
cmd->rq->errors = -EIO;
blk_mq_complete_request(cmd->rq);
@ -81,7 +85,7 @@ index d7173cb..4db0301 100644
static void loop_queue_write_work(struct work_struct *work)
diff --git a/drivers/block/loop.h b/drivers/block/loop.h
index 301c27f..eb855f5 100644
index 301c27f8323f..eb855f57a62d 100644
--- a/drivers/block/loop.h
+++ b/drivers/block/loop.h
@@ -57,6 +57,7 @@ struct loop_device {
@ -101,4 +105,5 @@ index 301c27f..eb855f5 100644
};
--
1.9.1
2.1.0