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
| ||
|
Message-ID: <19165.29312.300540.500942@pilspetsen.it.uu.se> Date: Tue, 20 Oct 2009 10:19:12 +0200 From: Mikael Pettersson <mikpe@...uu.se> To: Thomas Gleixner <tglx@...utronix.de> Cc: Linus Walleij <linus.walleij@...ricsson.com>, linux-mips@...ux-mips.org, Ralf Baechle <ralf@...ux-mips.org>, Mikael Pettersson <mikpe@...uu.se>, linux-kernel@...r.kernel.org, linux-arm-kernel@...ts.infradead.org Subject: Re: [PATCH] Make MIPS dynamic clocksource/clockevent clock code generic Thomas Gleixner writes: > > +static inline void clockevent_set_clock(struct clock_event_device *dev, u32 hz) > > +{ > > + u64 temp; > > + u32 shift; > > + > > + /* Find a shift value */ > > + for (shift = 32; shift > 0; shift--) { > > + temp = (u64) hz << shift; > > + do_div(temp, NSEC_PER_SEC); > > + if ((temp >> 32) == 0) > > + break; > > + } > > + dev->shift = shift; > > + dev->mult = (u32) temp; > > +} > > + > > + > > +static inline void clocksource_set_clock(struct clocksource *cs, u32 hz) > > +{ > > + u64 temp; > > + u32 shift; > > + > > + /* Find a shift value */ > > + for (shift = 32; shift > 0; shift--) { > > + temp = (u64) NSEC_PER_SEC << shift; > > + do_div(temp, hz); > > + if ((temp >> 32) == 0) > > + break; > > + } > > + cs->shift = shift; > > + cs->mult = (u32) temp; > > +} > > + > > So that's the same function twice, right ? They are similar but not identical: > > + temp = (u64) hz << shift; > > + do_div(temp, NSEC_PER_SEC); vs > > + temp = (u64) NSEC_PER_SEC << shift; > > + do_div(temp, hz); I suppose both functions could be implemented by a suitably parametric third function, but IMO that would just obscure things. Making them non-inline I fully agree with. -- 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