lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite for Android: free password hash cracker in your pocket
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20090820134221.GC10615@redhat.com>
Date:	Thu, 20 Aug 2009 09:42:21 -0400
From:	Vivek Goyal <vgoyal@...hat.com>
To:	Gui Jianfeng <guijianfeng@...fujitsu.com>
Cc:	linux-kernel@...r.kernel.org,
	containers@...ts.linux-foundation.org, dm-devel@...hat.com,
	jens.axboe@...cle.com, ryov@...inux.co.jp,
	balbir@...ux.vnet.ibm.com, righi.andrea@...il.com,
	nauman@...gle.com, dpshah@...gle.com, lizf@...fujitsu.com,
	mikew@...gle.com, fchecconi@...il.com, paolo.valente@...more.it,
	fernando@....ntt.co.jp, s-uchida@...jp.nec.com, taka@...inux.co.jp,
	jmoyer@...hat.com, dhaval@...ux.vnet.ibm.com,
	m-ikeda@...jp.nec.com, agk@...hat.com, akpm@...ux-foundation.org,
	peterz@...radead.org, jmarchan@...hat.com
Subject: Re: [PATCH] IO-Controller: clear ioq wait flag if a request goes
	into that ioq

On Thu, Aug 20, 2009 at 09:46:10AM +0800, Gui Jianfeng wrote:
> Vivek Goyal wrote:
> ...
> >  		/*
> >  		 * Remember that we saw a request from this process, but
> > @@ -1940,7 +2013,7 @@ void elv_ioq_request_add(struct request_queue *q, struct request *rq)
> >  		 * has other work pending, don't risk delaying until the
> >  		 * idle timer unplug to continue working.
> >  		 */
> > -		if (elv_ioq_wait_request(ioq)) {
> > +		if (group_wait || elv_ioq_wait_request(ioq)) {
> 
> Hi Vivek,
> 
> I guess we need to clear ioq_wait_request flags if there are requests to 
> go in this ioq. Otherwise, once waitting request on ioq, it will go into
> this path every time when a request is enqueued.
> 
> Signed-off-by: Gui Jianfeng <guijianfeng@...fujitsu.com>

Hi Gui,

It does sound like that we need to clear ioq wait_request flag here. In
fact upstream CFQ code is also not clearing this flag. Looking at the
code, can't think why it should not be cleared here.

Can you please also generate a patch for CFQ and post to lkml.

Thanks
Vivek
 
> ---
>  block/elevator-fq.c |    3 +++
>  1 files changed, 3 insertions(+), 0 deletions(-)
> 
> diff --git a/block/elevator-fq.c b/block/elevator-fq.c
> index b3c387d..201543e 100644
> --- a/block/elevator-fq.c
> +++ b/block/elevator-fq.c
> @@ -2708,6 +2708,9 @@ void elv_ioq_request_add(struct request_queue *q, struct request *rq)
>  				__blk_run_queue(q);
>  			else
>  				elv_mark_ioq_must_dispatch(ioq);
> +
> +			if (elv_ioq_wait_request(ioq))
> +				elv_clear_ioq_wait_request(ioq);
>  		}
>  	} else if (elv_should_preempt(q, ioq, rq)) {
>  		/*
> -- 
> 1.5.4.rc3
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ