Re: [PATCH 1/3] aoe: perform I/O completions in parallel

From: Andrew Morton
Date: Tue Jul 02 2013 - 17:43:33 EST


On Tue, 2 Jul 2013 14:23:51 -0700 ecashin@xxxxxxxxxxxx wrote:

> Some users have a large AoE target while others like to use
> many AoE targets at the same time. In the latter case, there
> is an opportunity to greatly improve aggregate throughput by
> allowing different threads to complete the I/O associated
> with each target. For 36 targets, 4 KiB read throughput
> roughly doubles, for example, with these changes in place.
>
> ...
>
> --- a/drivers/block/aoe/aoecmd.c
> +++ b/drivers/block/aoe/aoecmd.c
> @@ -35,14 +35,24 @@ module_param(aoe_maxout, int, 0644);
> MODULE_PARM_DESC(aoe_maxout,
> "Only aoe_maxout outstanding packets for every MAC on eX.Y.");
>
> -static wait_queue_head_t ktiowq;
> -static struct ktstate kts;
> +/* The number of online cpus in the system,
> + * this dictates the number of ktio threads
> + * which will be spawned.
> + */
> +static int ncpus;

I can see that doing it this way simplifies the code rather a lot, but
of course CPU hotplug can and will make ncpus grossly different from
the current num_online_cpus.

I suggest it's worth adding a comment here mentioning this, and
explaining why and how that's OK. If it indeed is OK ;)

Also, these patches were sent as being from ecashin@xxxxxxxxxxxxx I
rewrote that to ecashin@xxxxxxxxxx which is what I suspect you
intended. You can do this override yourself by putting a From: line
right at the top of the changelog.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/