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]
Date:	Thu, 17 Feb 2011 17:58:43 +0800
From:	"Guan Xuetao" <gxt@...c.pku.edu.cn>
To:	"'Thomas Gleixner'" <tglx@...utronix.de>
Cc:	<linux-kernel@...r.kernel.org>, <linux-arch@...r.kernel.org>,
	"'Arnd Bergmann'" <arnd@...db.de>, "'Greg KH'" <greg@...ah.com>
Subject: RE: [PATCHv2 09/11] unicore32 core architecture: timer and time handling



> -----Original Message-----
> From: Thomas Gleixner [mailto:tglx@...utronix.de]
> Sent: Wednesday, February 16, 2011 5:21 PM
> To: Guan Xuetao
> Cc: linux-kernel@...r.kernel.org; linux-arch@...r.kernel.org; Arnd Bergmann; 'Greg KH'
> Subject: Re: [PATCHv2 09/11] unicore32 core architecture: timer and time handling
> 
> On Sun, 13 Feb 2011, Guan Xuetao wrote:
> > +static struct clock_event_device ckevt_puv3_osmr0 = {
> > +	.name		= "osmr0",
> > +	.features	= CLOCK_EVT_FEAT_ONESHOT,
> > +#ifdef CONFIG_ARCH_FPGA
> > +	.shift		= 18, /* correct shift val: 16, but warn_on_slowpath */
> > +#else
> > +	.shift          = 30,
> > +#endif
> 
> Please get rid of this.
> 
> > +void __init time_init(void)
> > +{
> > +	OST_OIER = 0;		/* disable any timer interrupts */
> > +	OST_OSSR = 0;		/* clear status on all timers */
> > +
> > +	ckevt_puv3_osmr0.mult =
> > +		div_sc(CLOCK_TICK_RATE, NSEC_PER_SEC, ckevt_puv3_osmr0.shift);
> 
> And use clockevents_calc_mult_shift() instead of this.

That's  ok.
Please see following patch:

From: GuanXuetao <gxt@...c.pku.edu.cn>
Date: Thu, 17 Feb 2011 17:50:43 +0800
Subject: [PATCH] unicore32: apply clockevents_calc_mult_shift()
   to get rid of shift assignment and mult calculation for osmr0
   -- by advice with Thomas Gleixner

Signed-off-by: Guan Xuetao <gxt@...c.pku.edu.cn>
---
 arch/unicore32/kernel/time.c |    9 ++-------
 1 files changed, 2 insertions(+), 7 deletions(-)

diff --git a/arch/unicore32/kernel/time.c b/arch/unicore32/kernel/time.c
index 8090d76..8bb4b81 100644
--- a/arch/unicore32/kernel/time.c
+++ b/arch/unicore32/kernel/time.c
@@ -66,11 +66,6 @@ puv3_osmr0_set_mode(enum clock_event_mode mode, struct clock_event_device *c)
 static struct clock_event_device ckevt_puv3_osmr0 = {
 	.name		= "osmr0",
 	.features	= CLOCK_EVT_FEAT_ONESHOT,
-#ifdef CONFIG_ARCH_FPGA
-	.shift		= 18, /* correct shift val: 16, but warn_on_slowpath */
-#else
-	.shift          = 30,
-#endif
 	.rating		= 200,
 	.set_next_event	= puv3_osmr0_set_next_event,
 	.set_mode	= puv3_osmr0_set_mode,
@@ -101,8 +96,8 @@ void __init time_init(void)
 	OST_OIER = 0;		/* disable any timer interrupts */
 	OST_OSSR = 0;		/* clear status on all timers */
 
-	ckevt_puv3_osmr0.mult =
-		div_sc(CLOCK_TICK_RATE, NSEC_PER_SEC, ckevt_puv3_osmr0.shift);
+	clockevents_calc_mult_shift(&ckevt_puv3_osmr0, CLOCK_TICK_RATE, 5);
+
 	ckevt_puv3_osmr0.max_delta_ns =
 		clockevent_delta2ns(0x7fffffff, &ckevt_puv3_osmr0);
 	ckevt_puv3_osmr0.min_delta_ns =
-- 
1.6.2.2

> 
> Thanks,
> 
> 	tglx

Thanks Thomas.

Guan Xuetao

--
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