All of lore.kernel.org
 help / color / mirror / Atom feed
From: Gabriel Paubert <paubert@iram.es>
To: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: Yoann Vandoorselaere <yoann@prelude-ids.org>,
	cpufreq@lists.arm.linux.org.uk, cpufreq@www.linux.org.uk,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH]: fix 32bits integer overflow in loops_per_jiffy calculation
Date: Thu, 22 Aug 2002 15:23:57 +0000	[thread overview]
Message-ID: <3D65020D.5070201@iram.es> (raw)
In-Reply-To: 20020822143115.15323@192.168.4.1

Benjamin Herrenschmidt wrote:
>>Well, first on sane archs which have an easily accessible, fixed
>>frequency time counter, loops_per_jiffy should never have existed :-)
>>
>>Second, putting this code there means that one day somebody will
>>inevitably try to use it outside of its domain of operation (like it
>>happened for div64 a few months ago when I pointed out that it would not
>>work for divisors above 65535 or so).
> 
> 
> Well... it's clearly located inside kernel/cpufreq.c, so there is
> little risk, though it may be worth a big bold comment

Hmm, in my experience people hardly ever read detailed comments even 
when they are well-written. Perhaps if you called the function 
imprecise_scale or coarse_scale, it might ring a bell.

Besides that functions should do one thing and do that *well*[1]. Well, 
I'm usually not too dogmatic, but this function breaks the second rule
beyond what I find acceptable.

>>In this case a generic scaling function, while not a standard libgcc/C
>>library feature has potentially more applications than this simple 
>>cpufreq approximation. But I don't see very much the need for scaling a 
>>long (64 bit on 64 bit archs) value, 32 bit would be sufficient.
> 
> 
> Well... if you can write one, go on then ;) In my case, I'm happy
> with Yoann implementation for cpufreq right now. Though I agree that
> could ultimately be moved to arch code.

Ok, I'll give it a try this week-end (PPC, i386 and all 64 bit should 
archs should be trivial).

	Gabriel.

[1] Documentation/CodingStyle, which also claims that functions should 
be short and *sweet*. Well, I found the patch far too bitter ;-).



  reply	other threads:[~2002-08-22 15:20 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-08-22 13:02 [PATCH]: fix 32bits integer overflow in loops_per_jiffy calculation Benjamin Herrenschmidt
2002-08-22 12:12 ` Gabriel Paubert
2002-08-22 14:31   ` Benjamin Herrenschmidt
2002-08-22 15:23     ` Gabriel Paubert [this message]
2002-08-22 15:59       ` Yoann Vandoorselaere
2002-08-22 17:22         ` [PATCH]: fix 32bits integer overflow in loops_per_jiffycalculation george anzinger
2002-08-22 16:51       ` [PATCH]: fix 32bits integer overflow in loops_per_jiffy calculation Dominik Brodowski
2002-08-22 19:35         ` Benjamin Herrenschmidt
2002-08-22 17:46           ` Dominik Brodowski
2002-08-22 18:02             ` Yoann Vandoorselaere
2002-08-22 20:00             ` Benjamin Herrenschmidt
  -- strict thread matches above, loose matches on Subject: below --
2002-08-22  9:50 Yoann Vandoorselaere
2002-08-22 10:21 ` Gabriel Paubert
2002-08-22 13:00   ` Benjamin Herrenschmidt

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=3D65020D.5070201@iram.es \
    --to=paubert@iram.es \
    --cc=benh@kernel.crashing.org \
    --cc=cpufreq@lists.arm.linux.org.uk \
    --cc=cpufreq@www.linux.org.uk \
    --cc=linux-kernel@vger.kernel.org \
    --cc=yoann@prelude-ids.org \
    /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.