From: "Roger Pau Monné" <roger.pau@citrix.com>
To: Bob Liu <bob.liu@oracle.com>
Cc: <linux-kernel@vger.kernel.org>, <xen-devel@lists.xenproject.org>,
<konrad.wilk@oracle.com>, <jgross@suse.com>
Subject: Re: [PATCH 2/3] xen-blkfront: introduce blkif_set_queue_limits()
Date: Thu, 21 Jul 2016 10:29:13 +0200 [thread overview]
Message-ID: <20160721082913.ahsy5a63ymfoymqv@mac> (raw)
In-Reply-To: <1468575109-12209-2-git-send-email-bob.liu@oracle.com>
On Fri, Jul 15, 2016 at 05:31:48PM +0800, Bob Liu wrote:
> blk_mq_update_nr_hw_queues() reset all queue limits to default which it's not
> as xen-blkfront expected, introducing blkif_set_queue_limits() to reset limits
> with initial correct values.
Hm, great, and as usual in Linux there isn't even a comment in the function
that explains what it is supposed to do, or what are the side-effects of
calling blk_mq_update_nr_hw_queues.
> Signed-off-by: Bob Liu <bob.liu@oracle.com>
>
> drivers/block/xen-blkfront.c | 91 ++++++++++++++++++++++++--------------------
> 1 file changed, 50 insertions(+), 41 deletions(-)
>
> diff --git a/drivers/block/xen-blkfront.c b/drivers/block/xen-blkfront.c
> index 032fc94..10f46a8 100644
> --- a/drivers/block/xen-blkfront.c
> +++ b/drivers/block/xen-blkfront.c
> @@ -189,6 +189,8 @@ struct blkfront_info
> struct mutex mutex;
> struct xenbus_device *xbdev;
> struct gendisk *gd;
> + u16 sector_size;
> + unsigned int physical_sector_size;
> int vdevice;
> blkif_vdev_t handle;
> enum blkif_state connected;
> @@ -913,9 +915,45 @@ static struct blk_mq_ops blkfront_mq_ops = {
> .map_queue = blk_mq_map_queue,
> };
>
> +static void blkif_set_queue_limits(struct blkfront_info *info)
> +{
> + struct request_queue *rq = info->rq;
> + struct gendisk *gd = info->gd;
> + unsigned int segments = info->max_indirect_segments ? :
> + BLKIF_MAX_SEGMENTS_PER_REQUEST;
> +
> + queue_flag_set_unlocked(QUEUE_FLAG_VIRT, rq);
> +
> + if (info->feature_discard) {
> + queue_flag_set_unlocked(QUEUE_FLAG_DISCARD, rq);
> + blk_queue_max_discard_sectors(rq, get_capacity(gd));
> + rq->limits.discard_granularity = info->discard_granularity;
> + rq->limits.discard_alignment = info->discard_alignment;
> + if (info->feature_secdiscard)
> + queue_flag_set_unlocked(QUEUE_FLAG_SECDISCARD, rq);
> + }
AFAICT, at the point this function is called (in blkfront_resume), the
value of info->feature_discard is still from the old backend, maybe this
should be called from blkif_recover after blkfront_gather_backend_features?
Roger.
next prev parent reply other threads:[~2016-07-21 8:29 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-07-15 9:31 [PATCH 1/3] xen-blkfront: fix places not updated after introducing 64KB page granularity Bob Liu
2016-07-15 9:31 ` [PATCH 2/3] xen-blkfront: introduce blkif_set_queue_limits() Bob Liu
2016-07-21 8:29 ` Roger Pau Monné [this message]
2016-07-21 9:44 ` Bob Liu
2016-07-15 9:31 ` [PATCH 3/3] xen-blkfront: dynamic configuration of per-vbd resources Bob Liu
2016-07-21 8:57 ` Roger Pau Monné
2016-07-21 10:08 ` Bob Liu
2016-07-22 7:45 ` Roger Pau Monné
2016-07-22 8:17 ` Bob Liu
2016-07-22 9:34 ` Roger Pau Monné
2016-07-22 9:43 ` Bob Liu
2016-07-22 11:45 ` Roger Pau Monné
2016-07-22 22:18 ` Bob Liu
2016-07-25 9:20 ` Roger Pau Monné
2016-07-25 10:29 ` Bob Liu
2016-07-25 10:53 ` Roger Pau Monné
2016-07-25 11:08 ` Bob Liu
2016-07-25 12:11 ` Roger Pau Monné
2016-07-25 12:25 ` Bob Liu
2016-07-21 8:06 ` [PATCH 1/3] xen-blkfront: fix places not updated after introducing 64KB page granularity Roger Pau Monné
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20160721082913.ahsy5a63ymfoymqv@mac \
--to=roger.pau@citrix.com \
--cc=bob.liu@oracle.com \
--cc=jgross@suse.com \
--cc=konrad.wilk@oracle.com \
--cc=linux-kernel@vger.kernel.org \
--cc=xen-devel@lists.xenproject.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®