From: Javier Martinez Canillas <javier@osg.samsung.com>
To: Krzysztof Kozlowski <k.kozlowski@samsung.com>,
linux-kernel@vger.kernel.org
Cc: Guenter Roeck <linux@roeck-us.net>, Kukjin Kim <kgene@kernel.org>,
Wim Van Sebroeck <wim@iguana.be>,
linux-samsung-soc@vger.kernel.org,
linux-arm-kernel@lists.infradead.org,
linux-watchdog@vger.kernel.org,
Chanwoo Choi <cw00.choi@samsung.com>
Subject: Re: [RFC PATCH] watchdog: s3c2410_wdt: Add max and min timeout values
Date: Wed, 2 Mar 2016 23:14:53 -0300 [thread overview]
Message-ID: <56D79E1D.3030302@osg.samsung.com> (raw)
In-Reply-To: <56D7838D.4060602@samsung.com>
Hello Krzysztof,
On 03/02/2016 09:21 PM, Krzysztof Kozlowski wrote:
> On 03.03.2016 02:30, Javier Martinez Canillas wrote:
[snip]
>>>>
>>>> + wdt->wdt_device.min_timeout = 1;
>>>> + wdt->wdt_device.max_timeout = s3c2410wdt_max_timeout(wdt->clock);
>>>
>>> Can the frequency of clock change? E.g. with devfreq? No problem if it
>>> goes lower but if it gets higher than initial, then the problem will
>>> appear again.
>>>
I think both cases are problematic since low scaling will meant that the
watchdog will support a bigger timeout than what was set as maximum (this
will be a regression) and going up will mean that the maximum timeout is
bigger than what the watchdog supports (the same issue without this patch).
>>
>> That's a very good question. As Guenter said we will be in deep troubles
>> if that ever happens since the driver doesn't take that into account.
>>
>> The .set_timeout handler just sets the counter according to the current
>> frequency and that's never updated, unless a new timeout is set of course.
>>
>> So in other words, I just made the same assumptions that the driver is
>> currently doing.
>
> Not entirely. Change of clock frequency will affect currently set
> timeout. But the next timeout will be using new frequency.
>
> However you are setting the maximum timeout once. It will never change.
Of course. I meant that the driver makes the assumption that the clock
frequency never changes, no that the symptoms will be the same in both
cases (maximum timeout vs current timeout).
>
>> At least the Exynos SoCs manual don't mention frequency
>> scaling for the watchdog timer source clock and AFAICT none of the CLK_WDT
>> parents scale their frequencies but I don't know if that's true for all
>> the machines using this driver (i.e: out-of-tree boards).
>
> I looked at Exynos4 family because the devfreq was tested there. The WDT
> clock goes from ACLK100 (or ACLK66 on different socs).
>
> 1. Existing devfreq for Exynos4 does not change ACLK100 frequency.
> 2. New patches from Chanwoo (Cc) add scaling of ACLK100 also to 50 MHz:
> http://lkml.iu.edu/hypermail/linux/kernel/1512.1/04828.html
>
Thanks for the pointer, I missed that patch from Chanwoo.
> The problem will be more severe if the watchdog got configured on 50 MHz
> and then devfreq bumps the clock to 100 MHz...
>
So, what do you propose? We could for example set a maximum timeout on probe
as $SUBJECT do and also update the maximum timeout again on the .set_timeout
callback in case the clock rate changed. I think that is kind of hacky but I
can't think of another way to guard about the frequency being changed.
> Best regards,
> Krzysztof
> --
> To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
>
Best regards,
--
Javier Martinez Canillas
Open Source Group
Samsung Research America
WARNING: multiple messages have this Message-ID (diff)
From: javier@osg.samsung.com (Javier Martinez Canillas)
To: linux-arm-kernel@lists.infradead.org
Subject: [RFC PATCH] watchdog: s3c2410_wdt: Add max and min timeout values
Date: Wed, 2 Mar 2016 23:14:53 -0300 [thread overview]
Message-ID: <56D79E1D.3030302@osg.samsung.com> (raw)
In-Reply-To: <56D7838D.4060602@samsung.com>
Hello Krzysztof,
On 03/02/2016 09:21 PM, Krzysztof Kozlowski wrote:
> On 03.03.2016 02:30, Javier Martinez Canillas wrote:
[snip]
>>>>
>>>> + wdt->wdt_device.min_timeout = 1;
>>>> + wdt->wdt_device.max_timeout = s3c2410wdt_max_timeout(wdt->clock);
>>>
>>> Can the frequency of clock change? E.g. with devfreq? No problem if it
>>> goes lower but if it gets higher than initial, then the problem will
>>> appear again.
>>>
I think both cases are problematic since low scaling will meant that the
watchdog will support a bigger timeout than what was set as maximum (this
will be a regression) and going up will mean that the maximum timeout is
bigger than what the watchdog supports (the same issue without this patch).
>>
>> That's a very good question. As Guenter said we will be in deep troubles
>> if that ever happens since the driver doesn't take that into account.
>>
>> The .set_timeout handler just sets the counter according to the current
>> frequency and that's never updated, unless a new timeout is set of course.
>>
>> So in other words, I just made the same assumptions that the driver is
>> currently doing.
>
> Not entirely. Change of clock frequency will affect currently set
> timeout. But the next timeout will be using new frequency.
>
> However you are setting the maximum timeout once. It will never change.
Of course. I meant that the driver makes the assumption that the clock
frequency never changes, no that the symptoms will be the same in both
cases (maximum timeout vs current timeout).
>
>> At least the Exynos SoCs manual don't mention frequency
>> scaling for the watchdog timer source clock and AFAICT none of the CLK_WDT
>> parents scale their frequencies but I don't know if that's true for all
>> the machines using this driver (i.e: out-of-tree boards).
>
> I looked at Exynos4 family because the devfreq was tested there. The WDT
> clock goes from ACLK100 (or ACLK66 on different socs).
>
> 1. Existing devfreq for Exynos4 does not change ACLK100 frequency.
> 2. New patches from Chanwoo (Cc) add scaling of ACLK100 also to 50 MHz:
> http://lkml.iu.edu/hypermail/linux/kernel/1512.1/04828.html
>
Thanks for the pointer, I missed that patch from Chanwoo.
> The problem will be more severe if the watchdog got configured on 50 MHz
> and then devfreq bumps the clock to 100 MHz...
>
So, what do you propose? We could for example set a maximum timeout on probe
as $SUBJECT do and also update the maximum timeout again on the .set_timeout
callback in case the clock rate changed. I think that is kind of hacky but I
can't think of another way to guard about the frequency being changed.
> Best regards,
> Krzysztof
> --
> To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in
> the body of a message to majordomo at vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
>
Best regards,
--
Javier Martinez Canillas
Open Source Group
Samsung Research America
next prev parent reply other threads:[~2016-03-03 2:15 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-03-01 16:45 [RFC PATCH] watchdog: s3c2410_wdt: Add max and min timeout values Javier Martinez Canillas
2016-03-01 16:45 ` Javier Martinez Canillas
2016-03-01 23:44 ` Krzysztof Kozlowski
2016-03-01 23:44 ` Krzysztof Kozlowski
[not found] ` <56D62979.5040009-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org>
2016-03-02 16:16 ` Guenter Roeck
2016-03-02 16:16 ` Guenter Roeck
2016-03-02 16:16 ` Guenter Roeck
2016-03-02 17:30 ` Javier Martinez Canillas
2016-03-02 17:30 ` Javier Martinez Canillas
2016-03-02 17:30 ` Javier Martinez Canillas
[not found] ` <56D7233B.50907-JPH+aEBZ4P+UEJcrhfAQsw@public.gmane.org>
2016-03-03 0:21 ` Krzysztof Kozlowski
2016-03-03 0:21 ` Krzysztof Kozlowski
2016-03-03 0:21 ` Krzysztof Kozlowski
2016-03-03 2:14 ` Javier Martinez Canillas [this message]
2016-03-03 2:14 ` Javier Martinez Canillas
[not found] ` <56D79E1D.3030302-JPH+aEBZ4P+UEJcrhfAQsw@public.gmane.org>
2016-03-03 2:30 ` Krzysztof Kozlowski
2016-03-03 2:30 ` Krzysztof Kozlowski
2016-03-03 2:30 ` Krzysztof Kozlowski
2016-03-03 4:50 ` Guenter Roeck
2016-03-03 4:50 ` Guenter Roeck
2016-03-03 11:55 ` Javier Martinez Canillas
2016-03-03 11:55 ` Javier Martinez Canillas
[not found] ` <56D82643.1090105-JPH+aEBZ4P+UEJcrhfAQsw@public.gmane.org>
2016-03-03 12:26 ` Krzysztof Kozlowski
2016-03-03 12:26 ` Krzysztof Kozlowski
2016-03-03 12:26 ` Krzysztof Kozlowski
[not found] ` <CAJKOXPe2GAkMGgZJR3FCRONMgb3AcrySczuzm_BehekrMnEbrw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2016-03-04 5:32 ` Guenter Roeck
2016-03-04 5:32 ` Guenter Roeck
2016-03-04 5:32 ` Guenter Roeck
[not found] ` <1456850717-3670-1-git-send-email-javier-JPH+aEBZ4P+UEJcrhfAQsw@public.gmane.org>
2016-03-06 9:04 ` Wim Van Sebroeck
2016-03-06 9:04 ` Wim Van Sebroeck
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=56D79E1D.3030302@osg.samsung.com \
--to=javier@osg.samsung.com \
--cc=cw00.choi@samsung.com \
--cc=k.kozlowski@samsung.com \
--cc=kgene@kernel.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-samsung-soc@vger.kernel.org \
--cc=linux-watchdog@vger.kernel.org \
--cc=linux@roeck-us.net \
--cc=wim@iguana.be \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.