From: Heiko Carstens <heiko.carstens@de.ibm.com>
To: Nicholas Mc Guire <hofrat@osadl.org>,
Michael Holzheu <holzheu@linux.vnet.ibm.com>
Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>,
linux390@de.ibm.com, linux-s390@vger.kernel.org,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH RFC] s390/sclp: pass timeout as HZ independent value
Date: Fri, 29 May 2015 11:07:15 +0200 [thread overview]
Message-ID: <20150529090715.GA4169@osiris> (raw)
In-Reply-To: <1432746283-8068-1-git-send-email-hofrat@osadl.org>
On Wed, May 27, 2015 at 07:04:43PM +0200, Nicholas Mc Guire wrote:
> schedule_timeout takes a timeout in jiffies but the code currently is
> passing in a constant SDIAS_SLEEP_TICKS which sounds like it should be
> in jiffies but it is actually not and thus makes this timeout HZ
> dependent, to fix this it is passed through msecs_to_jiffies().
>
> patch was not even compile tested as s390 toolchain from kernel.org
> failed for me (on a debian wheezy x86_64) with:
> cc1: error: unrecognized command line option '-mtune=zEC12'
>
> Patch is against 4.0-rc5 (localversion-next is -next-20150527)
>
> Signed-off-by: Nicholas Mc Guire <hofrat@osadl.org>
> ---
>
> As there is no documentation of the intended timeout it might be wrong
> to convert it with msecs_to_jiffies() since the effective timeout is
> at least a factor 10 smaller than it is now - so someone that knows this
> driver needs to check on the actual value - but in any case it needs to
> be passed in a HZ independent way.
Yes, the orginal code seems to be broken. Since I've no idea what the intended
timeout value should be, let's simply ask Michael, who wrote this code eight
years ago ;)
While these lines get touched anyway, it would make sense to use
schedule_timeout_interruptible() instead, and get rid of set_current_state().
> drivers/s390/char/sclp_sdias.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/s390/char/sclp_sdias.c b/drivers/s390/char/sclp_sdias.c
> index eb7cb07..ab92a75 100644
> --- a/drivers/s390/char/sclp_sdias.c
> +++ b/drivers/s390/char/sclp_sdias.c
> @@ -68,7 +68,7 @@ static int sdias_sclp_send(struct sclp_req *req)
> /* not initiated, wait some time and retry */
> set_current_state(TASK_INTERRUPTIBLE);
> TRACE("add request failed: rc = %i\n",rc);
> - schedule_timeout(SDIAS_SLEEP_TICKS);
> + schedule_timeout(msecs_to_jiffies(SDIAS_SLEEP_TICKS));
> continue;
> }
> /* initiated, wait for completion of service call */
> --
Thanks,
Heiko
next prev parent reply other threads:[~2015-05-29 9:07 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-05-27 17:04 [PATCH RFC] s390/sclp: pass timeout as HZ independent value Nicholas Mc Guire
2015-05-29 9:07 ` Heiko Carstens [this message]
2015-05-29 9:51 ` Nicholas Mc Guire
2015-05-29 10:35 ` Heiko Carstens
2015-05-29 11:49 ` Nicholas Mc Guire
2015-05-29 12:01 ` Michael Holzheu
2015-05-29 14:16 ` Nicholas Mc Guire
2015-05-29 14:36 ` Heiko Carstens
2015-05-29 14:43 ` Nicholas Mc Guire
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=20150529090715.GA4169@osiris \
--to=heiko.carstens@de.ibm.com \
--cc=hofrat@osadl.org \
--cc=holzheu@linux.vnet.ibm.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-s390@vger.kernel.org \
--cc=linux390@de.ibm.com \
--cc=schwidefsky@de.ibm.com \
/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;
as well as URLs for NNTP newsgroup(s).