* Which version of preempt_realtime to use? @ 2009-01-19 12:01 Esben Nielsen 2009-01-19 13:51 ` Carsten Emde 0 siblings, 1 reply; 9+ messages in thread From: Esben Nielsen @ 2009-01-19 12:01 UTC (permalink / raw) To: linux-rt-users Hey, I am going to suggest that we use preempt_realtime for a _real_ project (i.e. costumers will depend on it). We will run on standeard x86 (maybe x86_64) hardware and will only need serial interfaces for realtime perposes. Security is not an issue. Which version of preempt_realtime should I pick? Esben ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: Which version of preempt_realtime to use? 2009-01-19 12:01 Which version of preempt_realtime to use? Esben Nielsen @ 2009-01-19 13:51 ` Carsten Emde 2009-01-19 20:45 ` Jürgen Mell 0 siblings, 1 reply; 9+ messages in thread From: Carsten Emde @ 2009-01-19 13:51 UTC (permalink / raw) To: esn; +Cc: linux-rt-users Esben, > I am going to suggest that we use preempt_realtime for a _real_ project > (i.e. costumers will depend on it). We will run on standeard x86 (maybe > x86_64) hardware and will only need serial interfaces for realtime > purposes. Security is not an issue. Which version of preempt_realtime > should I pick? The latest and greatest *and* most stable version is 2.6.24.7-rt26. As far as I know (but maybe others know better), there are no unresolved issues with this "Latest Stable". The kernel release 2.6.24 may not contain sufficient architecture support for PPC and ARM, but the large majority of x86 based processors and chipsets is well supported. Please report, if anything does not work as expected. --Carsten. ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: Which version of preempt_realtime to use? 2009-01-19 13:51 ` Carsten Emde @ 2009-01-19 20:45 ` Jürgen Mell 2009-01-20 7:49 ` Robert Schwebel 2009-01-22 7:40 ` Esben Nielsen 0 siblings, 2 replies; 9+ messages in thread From: Jürgen Mell @ 2009-01-19 20:45 UTC (permalink / raw) To: Carsten Emde; +Cc: esn, linux-rt-users > > Esben, > > >> I am going to suggest that we use preempt_realtime for a _real_ project >> (i.e. costumers will depend on it). We will run on standeard x86 (maybe >> x86_64) hardware and will only need serial interfaces for realtime >> purposes. Security is not an issue. Which version of preempt_realtime >> should I pick? >> > The latest and greatest *and* most stable version is 2.6.24.7-rt26. As > far as I know (but maybe others know better), there are no unresolved > issues with this "Latest Stable". The kernel release 2.6.24 may not > contain sufficient architecture support for PPC and ARM, but the large > majority of x86 based processors and chipsets is well supported. > > Please report, if anything does not work as expected. > The only thing which is missing for me from the 2.6.24.7-rt series is the patch "x86-fpu-fix-config_preempt-y-corruption-of-application-s-fpu-stack.patch" , GIT commit 870568b39064cab2dd971fe57969916036982862 from mainline 2.6.25. This might cause trouble with applications which are using floating point arithmetics. Otherwise I am using the 2.6.24.7-rt series on a machine control for a 16 axes machine and it is working mostly well. There are only some points where I get big delays (up to some milliseconds) with my timer routine, where normally delays are below 50 microseconds. Up to now I could not find the application ( X ??) which is causing this. Bye, Jürgen -- Jürgen Mell (Software-Entwicklung) mell@hedrich.com Tel.: +49-511-762-18226 http://www.hedrich.com FAX : +49-511-762-18225 Mobil: +49-160-7428156 -------------------------------------------------------------------------------- HEDRICH winding systems GmbH An der Universität 2 (im PZH) D-30823 Garbsen (GERMANY) -------------------------------------------------------------------------------- Geschäftsführer: Karsten Adam, Markus Gerth, Friedrich Frech Handelsregister: Wetzlar, HRB 4768 Steuernr.: 020/235/20110 USt-IdNr.: DE 258258279 -------------------------------------------------------------------------------- -- To unsubscribe from this list: send the line "unsubscribe linux-rt-users" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: Which version of preempt_realtime to use? 2009-01-19 20:45 ` Jürgen Mell @ 2009-01-20 7:49 ` Robert Schwebel 2009-01-20 8:30 ` Pradyumna Sampath 2009-01-22 7:40 ` Esben Nielsen 1 sibling, 1 reply; 9+ messages in thread From: Robert Schwebel @ 2009-01-20 7:49 UTC (permalink / raw) To: Jürgen Mell; +Cc: Carsten Emde, esn, linux-rt-users Jürgen, On Mon, Jan 19, 2009 at 09:45:58PM +0100, Jürgen Mell wrote: > The only thing which is missing for me from the 2.6.24.7-rt series is > the patch > "x86-fpu-fix-config_preempt-y-corruption-of-application-s-fpu-stack.patch" > , GIT commit > 870568b39064cab2dd971fe57969916036982862 from mainline 2.6.25. This > might cause trouble with applications which are using floating point > arithmetics. Otherwise I am using the 2.6.24.7-rt series on a machine > control for a 16 axes machine and it is working mostly well. There are > only some points where I get big delays (up to some milliseconds) with > my timer routine, where normally delays are below 50 microseconds. Up to > now I could not find the application ( X ??) which is causing this. Can you reproduce these long latencies with cyclictest, or does it only happen with your code? rsc -- Pengutronix e.K. | | Industrial Linux Solutions | http://www.pengutronix.de/ | Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 | -- To unsubscribe from this list: send the line "unsubscribe linux-rt-users" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: Which version of preempt_realtime to use? 2009-01-20 7:49 ` Robert Schwebel @ 2009-01-20 8:30 ` Pradyumna Sampath 2009-01-25 11:08 ` Thomas Gleixner 0 siblings, 1 reply; 9+ messages in thread From: Pradyumna Sampath @ 2009-01-20 8:30 UTC (permalink / raw) To: Robert Schwebel; +Cc: Jürgen Mell, Carsten Emde, esn, linux-rt-users Hi Robert, Jurgen, On Tue, Jan 20, 2009 at 1:19 PM, Robert Schwebel <r.schwebel@pengutronix.de> wrote: > > Can you reproduce these long latencies with cyclictest, or does it only > happen with your code? > A few months ago, I had hit some really long latencies when ptpd (1588 time synch) was trying to synchronize from 1970 to the current time. After the time change we could observe some really long latencies. Maybe, your device might also be Here is the post I made about it. http://marc.info/?l=linux-rt-users&m=122111918015981&w=4 regards /prady -- http://prady.in ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: Which version of preempt_realtime to use? 2009-01-20 8:30 ` Pradyumna Sampath @ 2009-01-25 11:08 ` Thomas Gleixner 0 siblings, 0 replies; 9+ messages in thread From: Thomas Gleixner @ 2009-01-25 11:08 UTC (permalink / raw) To: Pradyumna Sampath Cc: Robert Schwebel, Jürgen Mell, Carsten Emde, esn, linux-rt-users Prady, On Tue, 20 Jan 2009, Pradyumna Sampath wrote: > Hi Robert, Jurgen, > > On Tue, Jan 20, 2009 at 1:19 PM, Robert Schwebel > <r.schwebel@pengutronix.de> wrote: > > > > Can you reproduce these long latencies with cyclictest, or does it only > > happen with your code? > > > > A few months ago, I had hit some really long latencies when ptpd (1588 > time synch) was trying to synchronize from 1970 to the current time. > After the time change we could observe some really long latencies. > Maybe, your device might also be > > Here is the post I made about it. > http://marc.info/?l=linux-rt-users&m=122111918015981&w=4 Fix for the kernel warning is below. The warning is a false positive caused by the huge time jump. You said that your application is showing weird behaviour after the time was set. Is your application using CLOCK_REALTIME ABSTIME timers ? We have had bug reports in the past where people run into problems with code like that: while (1) { clock_nanosleep(CLOCK_REALTIME, TIMER_ABSTIME, &next, NULL); ... next += interval; } If the clock is set into the future then the above loop will try to catch up for quite a while until next is past now. Using CLOCK_REALTIME/ABSTIME timers needs to be aware of the fact that CLOCK_REALTIME can be set and handle such a case gracefully. Thanks, tglx --- Subject: hrtimer: prevent negative expiry value after clock_was_set() From: Thomas Gleixner <tglx@linutronix.de> Date: Sun, 25 Jan 2009 11:31:36 +0100 Impact: prevent false positive WARN_ON() in clockevents_program_event() clock_was_set() changes the base->offset of CLOCK_REALTIME and enforces the reprogramming of the clockevent device to expire timers which are based on CLOCK_REALTIME. If the clock change is large enough then the subtraction of the timer expiry value and base->offset can become negative which triggers the warning in clockevents_program_event(). Check the subtraction result and set a negative value to 0. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> --- kernel/hrtimer.c | 7 +++++++ 1 file changed, 7 insertions(+) Index: linux-2.6-rt/kernel/hrtimer.c =================================================================== --- linux-2.6-rt.orig/kernel/hrtimer.c +++ linux-2.6-rt/kernel/hrtimer.c @@ -405,6 +405,13 @@ static void hrtimer_force_reprogram(stru continue; timer = rb_entry(base->first, struct hrtimer, node); expires = ktime_sub(timer->expires, base->offset); + /* + * clock_was_set has changed base->offset, so the + * result might be negative. Fix it up to prevent a + * false positive in clockevents_program_event() + */ + if (expires.tv64 < 0) + expires.tv64 = 0; if (expires.tv64 < cpu_base->expires_next.tv64) cpu_base->expires_next = expires; } ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: Which version of preempt_realtime to use? 2009-01-19 20:45 ` Jürgen Mell 2009-01-20 7:49 ` Robert Schwebel @ 2009-01-22 7:40 ` Esben Nielsen 2009-01-22 8:37 ` Jürgen Mell 2009-01-28 19:32 ` Jürgen Mell 1 sibling, 2 replies; 9+ messages in thread From: Esben Nielsen @ 2009-01-22 7:40 UTC (permalink / raw) To: mell; +Cc: Carsten Emde, linux-rt-users On Mon, 2009-01-19 at 21:45 +0100, Jürgen Mell wrote: > > > > Esben, > > > > > >> I am going to suggest that we use preempt_realtime for a _real_ project > >> (i.e. costumers will depend on it). We will run on standeard x86 (maybe > >> x86_64) hardware and will only need serial interfaces for realtime > >> purposes. Security is not an issue. Which version of preempt_realtime > >> should I pick? > >> > > The latest and greatest *and* most stable version is 2.6.24.7-rt26. As > > far as I know (but maybe others know better), there are no unresolved > > issues with this "Latest Stable". The kernel release 2.6.24 may not > > contain sufficient architecture support for PPC and ARM, but the large > > majority of x86 based processors and chipsets is well supported. > > > > Please report, if anything does not work as expected. > > > The only thing which is missing for me from the 2.6.24.7-rt series is > the patch > "x86-fpu-fix-config_preempt-y-corruption-of-application-s-fpu-stack.patch" > , GIT commit > 870568b39064cab2dd971fe57969916036982862 from mainline 2.6.25. This > might cause trouble with applications which are using floating point > arithmetics. Otherwise I am using the 2.6.24.7-rt series on a machine > control for a 16 axes machine and it is working mostly well. There are > only some points where I get big delays (up to some milliseconds) with > my timer routine, where normally delays are below 50 microseconds. Up to > now I could not find the application ( X ??) which is causing this. > > Bye, > Jürgen > Which GIT-tree are you refering to? Is there at all an up-to-date GIT repository with preempt realtime? Esben -- To unsubscribe from this list: send the line "unsubscribe linux-rt-users" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: Which version of preempt_realtime to use? 2009-01-22 7:40 ` Esben Nielsen @ 2009-01-22 8:37 ` Jürgen Mell 2009-01-28 19:32 ` Jürgen Mell 1 sibling, 0 replies; 9+ messages in thread From: Jürgen Mell @ 2009-01-22 8:37 UTC (permalink / raw) To: esn; +Cc: Carsten Emde, linux-rt-users Esben Nielsen schrieb: > On Mon, 2009-01-19 at 21:45 +0100, Jürgen Mell wrote: > >>> Esben, >>> >>> >>> >>>> I am going to suggest that we use preempt_realtime for a _real_ project >>>> (i.e. costumers will depend on it). We will run on standeard x86 (maybe >>>> x86_64) hardware and will only need serial interfaces for realtime >>>> purposes. Security is not an issue. Which version of preempt_realtime >>>> should I pick? >>>> >>>> >>> The latest and greatest *and* most stable version is 2.6.24.7-rt26. As >>> far as I know (but maybe others know better), there are no unresolved >>> issues with this "Latest Stable". The kernel release 2.6.24 may not >>> contain sufficient architecture support for PPC and ARM, but the large >>> majority of x86 based processors and chipsets is well supported. >>> >>> Please report, if anything does not work as expected. >>> >>> >> The only thing which is missing for me from the 2.6.24.7-rt series is >> the patch >> "x86-fpu-fix-config_preempt-y-corruption-of-application-s-fpu-stack.patch" >> , GIT commit >> 870568b39064cab2dd971fe57969916036982862 from mainline 2.6.25. This >> might cause trouble with applications which are using floating point >> arithmetics. Otherwise I am using the 2.6.24.7-rt series on a machine >> control for a 16 axes machine and it is working mostly well. There are >> only some points where I get big delays (up to some milliseconds) with >> my timer routine, where normally delays are below 50 microseconds. Up to >> now I could not find the application ( X ??) which is causing this. >> >> Bye, >> Jürgen >> >> > > Which GIT-tree are you refering to? > The patch was included in the standard mainline kernel 2.6.25. > Is there at all an up-to-date GIT repository with preempt realtime? > As far as know, the RT tree is maintained now in a GIT repository, but I do not know whether it is ready to use already. Jürgen -- Jürgen Mell (Software-Entwicklung) mell@hedrich.com Tel.: +49-511-762-18226 http://www.hedrich.com FAX : +49-511-762-18225 Mobil: +49-160-7428156 -------------------------------------------------------------------------------- HEDRICH winding systems GmbH An der Universität 2 (im PZH) D-30823 Garbsen (GERMANY) -------------------------------------------------------------------------------- Geschäftsführer: Karsten Adam, Markus Gerth, Friedrich Frech Handelsregister: Wetzlar, HRB 4768 Steuernr.: 020/235/20110 USt-IdNr.: DE 258258279 -------------------------------------------------------------------------------- -- To unsubscribe from this list: send the line "unsubscribe linux-rt-users" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: Which version of preempt_realtime to use? 2009-01-22 7:40 ` Esben Nielsen 2009-01-22 8:37 ` Jürgen Mell @ 2009-01-28 19:32 ` Jürgen Mell 1 sibling, 0 replies; 9+ messages in thread From: Jürgen Mell @ 2009-01-28 19:32 UTC (permalink / raw) To: esn; +Cc: Carsten Emde, linux-rt-users Esben, > On Mon, 2009-01-19 at 21:45 +0100, Jürgen Mell wrote: > >>> Esben, >>> >>> >>> >>>> I am going to suggest that we use preempt_realtime for a _real_ project >>>> (i.e. costumers will depend on it). We will run on standeard x86 (maybe >>>> x86_64) hardware and will only need serial interfaces for realtime >>>> purposes. Security is not an issue. Which version of preempt_realtime >>>> should I pick? >>>> >>>> >>> The latest and greatest *and* most stable version is 2.6.24.7-rt26. As >>> far as I know (but maybe others know better), there are no unresolved >>> issues with this "Latest Stable". The kernel release 2.6.24 may not >>> contain sufficient architecture support for PPC and ARM, but the large >>> majority of x86 based processors and chipsets is well supported. >>> >>> Please report, if anything does not work as expected. >>> >>> >> The only thing which is missing for me from the 2.6.24.7-rt series is >> the patch >> "x86-fpu-fix-config_preempt-y-corruption-of-application-s-fpu-stack.patch" >> , GIT commit >> 870568b39064cab2dd971fe57969916036982862 from mainline 2.6.25. This >> might cause trouble with applications which are using floating point >> arithmetics. Otherwise I am using the 2.6.24.7-rt series on a machine >> control for a 16 axes machine and it is working mostly well. There are >> only some points where I get big delays (up to some milliseconds) with >> my timer routine, where normally delays are below 50 microseconds. Up to >> now I could not find the application ( X ??) which is causing this. >> >> Bye, >> Jürgen >> >> Thomas Gleixner, Carsten Emde and OSADL helped to track down the problem. The latency occurs while the X server is calling cache invalidate instructions in the drm code. According to Thomas, this is a known problem and might be addressed in later kernel versions. Thomas is clarifying the situation with the drm developers. For the time being, I disabled the i810 drm driver and switched to the standard framebuffer device. My test machine is running now for two days with a maximum latency detected by cyclictest of 110 micro-seconds (38 µs average), which is completely suitable for my application. The performance impact of the frame buffer driver versus the i810 driver is not too bad so I can live pretty well with this solution. Many thanks to Thomas, Carsten and the people at OSADL for their help! Bye, Jürgen -- Jürgen Mell (Software-Entwicklung) mell@hedrich.com Tel.: +49-511-762-18226 http://www.hedrich.com FAX : +49-511-762-18225 Mobil: +49-160-7428156 -------------------------------------------------------------------------------- HEDRICH winding systems GmbH An der Universität 2 (im PZH) D-30823 Garbsen (GERMANY) -------------------------------------------------------------------------------- Geschäftsführer: Karsten Adam, Markus Gerth, Friedrich Frech Handelsregister: Wetzlar, HRB 4768 Steuernr.: 020/235/20110 USt-IdNr.: DE 258258279 -------------------------------------------------------------------------------- -- To unsubscribe from this list: send the line "unsubscribe linux-rt-users" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2009-01-28 19:32 UTC | newest] Thread overview: 9+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2009-01-19 12:01 Which version of preempt_realtime to use? Esben Nielsen 2009-01-19 13:51 ` Carsten Emde 2009-01-19 20:45 ` Jürgen Mell 2009-01-20 7:49 ` Robert Schwebel 2009-01-20 8:30 ` Pradyumna Sampath 2009-01-25 11:08 ` Thomas Gleixner 2009-01-22 7:40 ` Esben Nielsen 2009-01-22 8:37 ` Jürgen Mell 2009-01-28 19:32 ` Jürgen Mell
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.