mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* Re: Crunch time -- the musical.  (2.5 merge candidate list 1.5)
@ 2002-10-25  0:25 Jim Houston
  2002-10-25 17:58 ` george anzinger
                   ` (2 more replies)
  0 siblings, 3 replies; 6+ messages in thread
From: Jim Houston @ 2002-10-25  0:25 UTC (permalink / raw)
  To: landley, linux-kernel, george

Hi Rob,

The Posix timers entry in your list is confused.  I don't know how
my patch got the name Google.

I think Dan Kegel misunderstood George's answer to my previous announcement.  George might be picking up some of my changes, but
there will still be two
patches for Linus to choose from.  You included the URL to George's answer
which quoted my patch, rather than the URL I sent you.

Here is the URL for an archived copy of my latest patch:
     Jim Houston's  [PATCH] alternate Posix timer patch3
     http://marc.theaimsgroup.com/?l=linux-kernel&m=103549000027416&w=2

I would be happy to see either version go into 2.5.  

The URLs for George's patches are incomplete.  I believe this is the
most recent (it's from Oct 18).  The Sourceforge.net reference has the
user space library and test programs, but I did not see 2.5 kernel
patches.

  [PATCH ] POSIX clocks & timers take 3 (NOT HIGH RES)
     http://marc.theaimsgroup.com/?l=linux-kernel&m=103489669622397&w=2

Thanks
Jim Houston - Concurrent Computer Corp.

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

* Re: Crunch time -- the musical.  (2.5 merge candidate list 1.5)
  2002-10-25  0:25 Crunch time -- the musical. (2.5 merge candidate list 1.5) Jim Houston
@ 2002-10-25 17:58 ` george anzinger
  2002-10-25 18:53 ` highres timers question Rob Landley
  2002-10-25 19:58 ` Crunch time -- the musical. (2.5 merge candidate list 1.5) Rob Landley
  2 siblings, 0 replies; 6+ messages in thread
From: george anzinger @ 2002-10-25 17:58 UTC (permalink / raw)
  To: jim.houston; +Cc: landley, linux-kernel

Jim Houston wrote:
> 
> Hi Rob,
> 
> The Posix timers entry in your list is confused.  I don't know how
> my patch got the name Google.
> 
> I think Dan Kegel misunderstood George's answer to my previous announcement.  George might be picking up some of my changes, but
> there will still be two
> patches for Linus to choose from.  You included the URL to George's answer
> which quoted my patch, rather than the URL I sent you.
> 
> Here is the URL for an archived copy of my latest patch:
>      Jim Houston's  [PATCH] alternate Posix timer patch3
>      http://marc.theaimsgroup.com/?l=linux-kernel&m=103549000027416&w=2
> 
> I would be happy to see either version go into 2.5.
> 
> The URLs for George's patches are incomplete.  I believe this is the
> most recent (it's from Oct 18).  The Sourceforge.net reference has the
> user space library and test programs, but I did not see 2.5 kernel
> patches.
> 
>   [PATCH ] POSIX clocks & timers take 3 (NOT HIGH RES)
>      http://marc.theaimsgroup.com/?l=linux-kernel&m=103489669622397&w=2

I would be very careful picking up patches from the
digests.  Some of them have message size limits that cause
truncated patches.  I know mine was on the marc digest.  I
will post the latest HRT patches on the project sourceforge
site.

-- 
George Anzinger   george@mvista.com
High-res-timers: 
http://sourceforge.net/projects/high-res-timers/
Preemption patch:
http://www.kernel.org/pub/linux/kernel/people/rml

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

* highres timers question...
  2002-10-25  0:25 Crunch time -- the musical. (2.5 merge candidate list 1.5) Jim Houston
  2002-10-25 17:58 ` george anzinger
@ 2002-10-25 18:53 ` Rob Landley
  2002-10-26  9:07   ` george anzinger
  2002-10-25 19:58 ` Crunch time -- the musical. (2.5 merge candidate list 1.5) Rob Landley
  2 siblings, 1 reply; 6+ messages in thread
From: Rob Landley @ 2002-10-25 18:53 UTC (permalink / raw)
  To: jim.houston, linux-kernel, george

I'm guessing that of the patches here:

http://sourceforge.net/projects/high-res-timers

The -posix one adds posix support on top of the base high-res timers patch?

(Did I guess right?)

Rob

-- 
http://penguicon.sf.net - Terry Pratchett, Eric Raymond, Pete Abrams, Illiad, 
CmdrTaco, liquid nitrogen ice cream, and caffienated jello.  Well why not?

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

* Re: Crunch time -- the musical.  (2.5 merge candidate list 1.5)
  2002-10-25  0:25 Crunch time -- the musical. (2.5 merge candidate list 1.5) Jim Houston
  2002-10-25 17:58 ` george anzinger
  2002-10-25 18:53 ` highres timers question Rob Landley
@ 2002-10-25 19:58 ` Rob Landley
  2002-10-26  8:45   ` george anzinger
  2 siblings, 1 reply; 6+ messages in thread
From: Rob Landley @ 2002-10-25 19:58 UTC (permalink / raw)
  To: jim.houston, linux-kernel, george

On Thursday 24 October 2002 19:25, Jim Houston wrote:
> Hi Rob,
>
> The Posix timers entry in your list is confused.  I don't know how
> my patch got the name Google.

Sorry, misread "George's version" as "Google's version" at 5 am one morning.
Lot of late nights recently... :)

> I think Dan Kegel misunderstood George's answer to my previous
> announcement.  George might be picking up some of my changes, but there
> will still be two patches for Linus to choose from.  You included the URL to 
> George's answer which quoted my patch, rather than the URL I sent you.

Had it in, then took it out.  I'm trying to collate down the list wherever I 
can.

> Here is the URL for an archived copy of my latest patch:
>      Jim Houston's  [PATCH] alternate Posix timer patch3
>      http://marc.theaimsgroup.com/?l=linux-kernel&m=103549000027416&w=2

It's back now.

> I would be happy to see either version go into 2.5.

So what exactly is the difference between them?

> The URLs for George's patches are incomplete.  I believe this is the
> most recent (it's from Oct 18).  The Sourceforge.net reference has the
> user space library and test programs, but I did not see 2.5 kernel
> patches.
>
>   [PATCH ] POSIX clocks & timers take 3 (NOT HIGH RES)
>      http://marc.theaimsgroup.com/?l=linux-kernel&m=103489669622397&w=2

He's up to version 4 now.

> Thanks
> Jim Houston - Concurrent Computer Corp.

Rob

-- 
http://penguicon.sf.net - Terry Pratchett, Eric Raymond, Pete Abrams, Illiad, 
CmdrTaco, liquid nitrogen ice cream, and caffienated jello.  Well why not?

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

* Re: Crunch time -- the musical.  (2.5 merge candidate list 1.5)
  2002-10-25 19:58 ` Crunch time -- the musical. (2.5 merge candidate list 1.5) Rob Landley
@ 2002-10-26  8:45   ` george anzinger
  0 siblings, 0 replies; 6+ messages in thread
From: george anzinger @ 2002-10-26  8:45 UTC (permalink / raw)
  To: landley; +Cc: jim.houston, linux-kernel

Rob Landley wrote:
> 
> On Thursday 24 October 2002 19:25, Jim Houston wrote:
> > Hi Rob,
> >
> > The Posix timers entry in your list is confused.  I don't know how
> > my patch got the name Google.
> 
> Sorry, misread "George's version" as "Google's version" at 5 am one morning.
> Lot of late nights recently... :)
> 
> > I think Dan Kegel misunderstood George's answer to my previous
> > announcement.  George might be picking up some of my changes, but there
> > will still be two patches for Linus to choose from.  You included the URL to
> > George's answer which quoted my patch, rather than the URL I sent you.
> 
> Had it in, then took it out.  I'm trying to collate down the list wherever I
> can.
> 
> > Here is the URL for an archived copy of my latest patch:
> >      Jim Houston's  [PATCH] alternate Posix timer patch3
> >      http://marc.theaimsgroup.com/?l=linux-kernel&m=103549000027416&w=2
> 
> It's back now.
> 
> > I would be happy to see either version go into 2.5.
> 
> So what exactly is the difference between them?

First, to answer your question about the order of things in
my patches.  The 4 patches should be applied in this order:

First, the posix patch.  It introduces the POSIX clocks &
timers to the system.  It is not high res and stands alone. 
The rest of the patches are all about doing the high res
timers:

The 3 parts to the high res timers are:
 core           The core kernel (i.e. platform independent)
changes
 i386           The high-res changes for the i386 (x86)
platform
 posixhr        The changes to the POSIX clocks & timers
patch to
use high-res timers

This last is almost entirely contained to the one file
(.../kernel/posix_timers.c).  The "almost" is because it
adds a member to the posix timers structure which is defined
in sched.h.

Now, as to the differences between my patches and Jim's. 
Jim's patch is an alternate for the first or "posix" patch
only.  Since I picked up a variation on his id allocator,
thus removing the configuration option for the maximum
number of timers, the principle difference is that Jim keeps
the posix timers in a separate list, where as, my patch puts
them in the same list (i.e. the add_timer list) as all other
timers.  I assume (not having looked in detail at his latest
patch) that he uses the systems add_timers to drive the
timers in this list, and thus has a two stage expiry
algorithm (a. the add_timer pop which then, b. causes a
check of this new list).

Jim has also attempted to address the clock_nanosleep()
interaction with signals problem.  In short, the standard
says that signals that do not actually cause a handler in
the user code to run are NOT supposed to interrupt a sleep. 
The straight forward way to do this is to interrupt the
sleep on the signal, call do_signal() to deliver the signal
and check the return to see if it invoked a user handler (it
returns 1 in this case, else 0) and either continue the
sleep or return.  The problem is that do_signal() requires
&regs as a parameter and this is passed in different ways,
in the various platforms, to system calls.  ALL other system
calls that call do_signal() reside in platform dependent
code, most likely for this reason.

My solution for this problem is to provide a couple of
macros in linux/signal.h and linux/asm-i386/signal.h to
define the entry sequence for clock_nanosleep (and nanosleep
as it is now just a call to clock_nanosleep).  The macros in
linux/signal.h are general purpose and do NOT actually solve
the problem, but they do allow other platforms to work,
although, without the standard required signal handling. 
These are only defined if the asm/signal.h does not supply
an alternative.  This allows each platform to customize the
entry to clock_nanosleep() to pass in regs in what ever way
works for that platform.  I fully admit that this is a VERY
messy bit of code, BUT at the same time, it works.  I am
fully prepared to change to a cleaner solution should one
arise.

Jim has NOT provided high res timers as yet, and thus does
not have any code to replace the 3 high res patches.  I
don't know if he is attempting to do this code.  I suspect
he is not, but he did indicate that he wants to expand his
posix timers to be high res.  If he does this, I suspect
that it would be his version of the "hrposix" patch.
> 
> > The URLs for George's patches are incomplete.  I believe this is the
> > most recent (it's from Oct 18).  The Sourceforge.net reference has the
> > user space library and test programs, but I did not see 2.5 kernel
> > patches.
> >
> >   [PATCH ] POSIX clocks & timers take 3 (NOT HIGH RES)
> >      http://marc.theaimsgroup.com/?l=linux-kernel&m=103489669622397&w=2
> 
> He's up to version 4 now.

As I said in another post, don't trust these archives, they
truncate long posts to less than what the lklm allows.  In
particular, they have truncated my patches.  The full set of
4 patches are available here:

 http://sourceforge.net/projects/high-res-timers/

or, to save a few clicks:

http://sourceforge.net/project/showfiles.php?group_id=20460&release_id=118345

Please do read the notes, they tell about the order of
application, which is fixed, i.e.:
hrtimers-posix  The posix clock/ timers interface, low res.
hrtimers-core   The core system high res patch.
hrtimers-i386   The high res code for the i386 platform.
hrtimers-hrposix The patch to move the low res posix patch
                 to high res.


-- 
George Anzinger   george@mvista.com
High-res-timers: 
http://sourceforge.net/projects/high-res-timers/
Preemption patch:
http://www.kernel.org/pub/linux/kernel/people/rml

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

* Re: highres timers question...
  2002-10-25 18:53 ` highres timers question Rob Landley
@ 2002-10-26  9:07   ` george anzinger
  0 siblings, 0 replies; 6+ messages in thread
From: george anzinger @ 2002-10-26  9:07 UTC (permalink / raw)
  To: landley; +Cc: jim.houston, linux-kernel

Rob Landley wrote:
> 
> I'm guessing that of the patches here:
> 
> http://sourceforge.net/projects/high-res-timers
> 
> The -posix one adds posix support on top of the base high-res timers patch?
> 
> (Did I guess right?)

Uh, no.  We made the command decision that even IF he does
not let in the high-res stuff we would like the POSIX API in
the kernel.  Thus the patches are structured to require the
POSIX patch first.  This can be changed if need be, but that
is the way it is now.
> 
> Rob
> 
> --
> http://penguicon.sf.net - Terry Pratchett, Eric Raymond, Pete Abrams, Illiad,
> CmdrTaco, liquid nitrogen ice cream, and caffienated jello.  Well why not?

-- 
George Anzinger   george@mvista.com
High-res-timers: 
http://sourceforge.net/projects/high-res-timers/
Preemption patch:
http://www.kernel.org/pub/linux/kernel/people/rml

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

end of thread, other threads:[~2002-10-26  9:01 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2002-10-25  0:25 Crunch time -- the musical. (2.5 merge candidate list 1.5) Jim Houston
2002-10-25 17:58 ` george anzinger
2002-10-25 18:53 ` highres timers question Rob Landley
2002-10-26  9:07   ` george anzinger
2002-10-25 19:58 ` Crunch time -- the musical. (2.5 merge candidate list 1.5) Rob Landley
2002-10-26  8:45   ` george anzinger

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

Powered by JetHome