public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* time_is_after_jiffies misnomer
@ 2008-12-16 11:31 Peter T. Breuer
  2008-12-16 14:46 ` Johannes Weiner
  2008-12-18  7:38 ` Pavel Machek
  0 siblings, 2 replies; 10+ messages in thread
From: Peter T. Breuer @ 2008-12-16 11:31 UTC (permalink / raw)
  To: linux kernel


I thought at first that

    time_is_after_jiffies(foo)

meant that the current time is later than foo jiffies. In fact, it's
the reverse! (as far as I can tell! 2.6.26-11). 

Can we change this name or provide an alternative? Perhaps

   jiffies_is_later_than(foo)

??

Peter Breuer

^ permalink raw reply	[flat|nested] 10+ messages in thread
* Re: time_is_after_jiffies misnomer
@ 2008-12-16 16:04 Peter T. Breuer
  2008-12-16 16:13 ` Pekka Enberg
  0 siblings, 1 reply; 10+ messages in thread
From: Peter T. Breuer @ 2008-12-16 16:04 UTC (permalink / raw)
  To: hannes; +Cc: linux kernel

"Also sprach ptb:"
> "Also sprach Johannes Weiner:"
> > 'foo jiffies'?
> 
> ?? What does that mean? Yes, "the current time is later than foo
> jiffies", is what I wrote.  I don't understand why you query it. What I
> wrote is a perfectly normal english sentence.

Light dawns. Perhaps you think "jiffies" is a meaningless word that
happens to be the name of a variable that measures elapsed time.

It's not. "jiffy" is a "short moment of time" in english, and "jiffies"
is its plural. Like "augenblick" in german, but a bit longer
("augenblick" probably translates as "moment", or "instant", literally,
"eyeblink").  "In a jiffy" is an english phrase meaning "soon!".  It's
close to an "instant" but of vaguer extent.

So the variable called "jiffies" measures the number of elapsed
jiffies.

Like a variable called "hours" that measures the number of elapsed
hours.

"foo jiffies" is no stranger than "foo hours" or "foo minutes" or "foo
seconds". That's why I was puzzled that you queried it!

> It's poor english. Yes, to an english speaker
> 
>    time_is_after_jiffies(foo)
> 
> looks like
> 
>    the current time is later than foo jiffies
> 
> Look at the two:
> 
>    the current time is later than foo jiffies
>                  |   |  |           `/.
>                time_is_after_jiffies(foo)


See it now? 

Imagine that you had a macro called


   time_is_after_hours

then 

  time_is_after_hours(12)


would mean to an english speaker

  the current time is later than midday

I.e.

  the current time is later than 12h
               |    |   |        .|'
              time_is_after_hours(12)

Unfortunately the kernel's "time_is_after_hours(12)" macro means
mathematically what we would express in english as "the current time is
BEFORE 12h".  Ouch.

The kernel's 

     time_is_after_jiffies(500)

macro mathematically means

    the current value of the jiffies variable is LESS THAN 500

!! That's the other way round from the way that an english speaker
would read the macro name as meaning! So the semantics and the name
contradict each other.

Clear now?

Peter

^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2008-12-18  7:38 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-12-16 11:31 time_is_after_jiffies misnomer Peter T. Breuer
2008-12-16 14:46 ` Johannes Weiner
2008-12-16 15:17   ` Peter T. Breuer
2008-12-16 16:18     ` Andreas Schwab
2008-12-16 16:32       ` Peter T. Breuer
2008-12-16 19:29         ` Chris Friesen
2008-12-16 20:33     ` Johannes Weiner
2008-12-18  7:38 ` Pavel Machek
  -- strict thread matches above, loose matches on Subject: below --
2008-12-16 16:04 Peter T. Breuer
2008-12-16 16:13 ` Pekka Enberg

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox