* [Xenomai-core] xenomai 2.5 rc1 timing computations. @ 2009-04-28 5:50 Gilles Chanteperdrix 2009-04-28 5:52 ` Gilles Chanteperdrix 2009-04-28 10:07 ` Philippe Gerum 0 siblings, 2 replies; 8+ messages in thread From: Gilles Chanteperdrix @ 2009-04-28 5:50 UTC (permalink / raw) To: Xenomai core Hi, currently, the situation is this: - the timing core uses an approximate value of the cpu frequency (using xnarch_llmulshft) to do conversions between tsc and ns; - the APIC timer reprogrammation still uses imuldiv, that is a more exact cpu frequency, coupled with an approximate APIC frequency (obtained from ipipe_request_tickdev), to do the conversion between tsc delays and APIC delays; - the posix skin uses llimd to do conversions between timespec and timeval structures and tsc values - the posix and native skins in user-space still use llimd to do conversions between ns and tsc (only if using tsc in user-space). These are causes of unprecisions, I think we should fix this, though it is unlikely to be the cause of the high jitters observed by Vikesh with 2.5-rc1. Regards. -- Gilles. ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [Xenomai-core] xenomai 2.5 rc1 timing computations. 2009-04-28 5:50 [Xenomai-core] xenomai 2.5 rc1 timing computations Gilles Chanteperdrix @ 2009-04-28 5:52 ` Gilles Chanteperdrix 2009-04-28 10:07 ` Philippe Gerum 1 sibling, 0 replies; 8+ messages in thread From: Gilles Chanteperdrix @ 2009-04-28 5:52 UTC (permalink / raw) To: Xenomai core Gilles Chanteperdrix wrote: > Hi, > > currently, the situation is this: > - the timing core uses an approximate value of the cpu frequency (using > xnarch_llmulshft) to do conversions between tsc and ns; > - the APIC timer reprogrammation still uses imuldiv, that is a more > exact cpu frequency, coupled with an approximate APIC frequency > (obtained from ipipe_request_tickdev), to do the conversion between tsc > delays and APIC delays; > - the posix skin uses llimd to do conversions between timespec and > timeval structures and tsc values > - the posix and native skins in user-space still use llimd to do > conversions between ns and tsc (only if using tsc in user-space). > > These are causes of unprecisions, I think we should fix this, though it imprecisions. -- Gilles. ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [Xenomai-core] xenomai 2.5 rc1 timing computations. 2009-04-28 5:50 [Xenomai-core] xenomai 2.5 rc1 timing computations Gilles Chanteperdrix 2009-04-28 5:52 ` Gilles Chanteperdrix @ 2009-04-28 10:07 ` Philippe Gerum 2009-04-28 12:21 ` Gilles Chanteperdrix 1 sibling, 1 reply; 8+ messages in thread From: Philippe Gerum @ 2009-04-28 10:07 UTC (permalink / raw) To: Gilles Chanteperdrix; +Cc: Xenomai core On Tue, 2009-04-28 at 07:50 +0200, Gilles Chanteperdrix wrote: > Hi, > > currently, the situation is this: > - the timing core uses an approximate value of the cpu frequency (using > xnarch_llmulshft) to do conversions between tsc and ns; > - the APIC timer reprogrammation still uses imuldiv, that is a more > exact cpu frequency, coupled with an approximate APIC frequency > (obtained from ipipe_request_tickdev), to do the conversion between tsc > delays and APIC delays; > - the posix skin uses llimd to do conversions between timespec and > timeval structures and tsc values > - the posix and native skins in user-space still use llimd to do > conversions between ns and tsc (only if using tsc in user-space). > > These are causes of unprecisions, I think we should fix this, though it > is unlikely to be the cause of the high jitters observed by Vikesh with > 2.5-rc1. > Ack, we definitely should. Working on allowing userland to use llmulshift for timing computations for the native skin here, as a first step. For that purpose, xnsysinfo_t has just been extended to carry the pre-scaled values needed for llmulshft. I just don't want to have to issue a syscall for those conversions to take place. > Regards. > -- Philippe. ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [Xenomai-core] xenomai 2.5 rc1 timing computations. 2009-04-28 10:07 ` Philippe Gerum @ 2009-04-28 12:21 ` Gilles Chanteperdrix 2009-04-28 13:41 ` Philippe Gerum 0 siblings, 1 reply; 8+ messages in thread From: Gilles Chanteperdrix @ 2009-04-28 12:21 UTC (permalink / raw) To: Philippe Gerum; +Cc: Xenomai core Philippe Gerum wrote: > On Tue, 2009-04-28 at 07:50 +0200, Gilles Chanteperdrix wrote: >> Hi, >> >> currently, the situation is this: >> - the timing core uses an approximate value of the cpu frequency (using >> xnarch_llmulshft) to do conversions between tsc and ns; >> - the APIC timer reprogrammation still uses imuldiv, that is a more >> exact cpu frequency, coupled with an approximate APIC frequency >> (obtained from ipipe_request_tickdev), to do the conversion between tsc >> delays and APIC delays; >> - the posix skin uses llimd to do conversions between timespec and >> timeval structures and tsc values >> - the posix and native skins in user-space still use llimd to do >> conversions between ns and tsc (only if using tsc in user-space). >> >> These are causes of unprecisions, I think we should fix this, though it >> is unlikely to be the cause of the high jitters observed by Vikesh with >> 2.5-rc1. >> > > Ack, we definitely should. Working on allowing userland to use > llmulshift for timing computations for the native skin here, as a first > step. For that purpose, xnsysinfo_t has just been extended to carry the > pre-scaled values needed for llmulshft. I just don't want to have to > issue a syscall for those conversions to take place. Actually, the pre-scaled values could be re-computed in user-space without changing the ABI. BTW, I wonder why this computations starts with a shift value of 31 and not 32. Using 32 when possible would improve the precision. -- Gilles. ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [Xenomai-core] xenomai 2.5 rc1 timing computations. 2009-04-28 12:21 ` Gilles Chanteperdrix @ 2009-04-28 13:41 ` Philippe Gerum 2009-04-28 13:45 ` Gilles Chanteperdrix 0 siblings, 1 reply; 8+ messages in thread From: Philippe Gerum @ 2009-04-28 13:41 UTC (permalink / raw) To: Gilles Chanteperdrix; +Cc: Xenomai core On Tue, 2009-04-28 at 14:21 +0200, Gilles Chanteperdrix wrote: > Philippe Gerum wrote: > > On Tue, 2009-04-28 at 07:50 +0200, Gilles Chanteperdrix wrote: > >> Hi, > >> > >> currently, the situation is this: > >> - the timing core uses an approximate value of the cpu frequency (using > >> xnarch_llmulshft) to do conversions between tsc and ns; > >> - the APIC timer reprogrammation still uses imuldiv, that is a more > >> exact cpu frequency, coupled with an approximate APIC frequency > >> (obtained from ipipe_request_tickdev), to do the conversion between tsc > >> delays and APIC delays; > >> - the posix skin uses llimd to do conversions between timespec and > >> timeval structures and tsc values > >> - the posix and native skins in user-space still use llimd to do > >> conversions between ns and tsc (only if using tsc in user-space). > >> > >> These are causes of unprecisions, I think we should fix this, though it > >> is unlikely to be the cause of the high jitters observed by Vikesh with > >> 2.5-rc1. > >> > > > > Ack, we definitely should. Working on allowing userland to use > > llmulshift for timing computations for the native skin here, as a first > > step. For that purpose, xnsysinfo_t has just been extended to carry the > > pre-scaled values needed for llmulshft. I just don't want to have to > > issue a syscall for those conversions to take place. > > Actually, the pre-scaled values could be re-computed in user-space > without changing the ABI. We don't care that much about changing the ABI between -rc1 and -rc2 actually, so it mostly depends whether we want to backport the fix to 2.4 regarding the tsc->ns conversion, since we do not have any nodiv implementation for the ns->tsc one there yet. -- Philippe. ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [Xenomai-core] xenomai 2.5 rc1 timing computations. 2009-04-28 13:41 ` Philippe Gerum @ 2009-04-28 13:45 ` Gilles Chanteperdrix 2009-04-28 14:00 ` Philippe Gerum 0 siblings, 1 reply; 8+ messages in thread From: Gilles Chanteperdrix @ 2009-04-28 13:45 UTC (permalink / raw) To: Philippe Gerum; +Cc: Xenomai core Philippe Gerum wrote: > On Tue, 2009-04-28 at 14:21 +0200, Gilles Chanteperdrix wrote: >> Philippe Gerum wrote: >>> On Tue, 2009-04-28 at 07:50 +0200, Gilles Chanteperdrix wrote: >>>> Hi, >>>> >>>> currently, the situation is this: >>>> - the timing core uses an approximate value of the cpu frequency (using >>>> xnarch_llmulshft) to do conversions between tsc and ns; >>>> - the APIC timer reprogrammation still uses imuldiv, that is a more >>>> exact cpu frequency, coupled with an approximate APIC frequency >>>> (obtained from ipipe_request_tickdev), to do the conversion between tsc >>>> delays and APIC delays; >>>> - the posix skin uses llimd to do conversions between timespec and >>>> timeval structures and tsc values >>>> - the posix and native skins in user-space still use llimd to do >>>> conversions between ns and tsc (only if using tsc in user-space). >>>> >>>> These are causes of unprecisions, I think we should fix this, though it >>>> is unlikely to be the cause of the high jitters observed by Vikesh with >>>> 2.5-rc1. >>>> >>> Ack, we definitely should. Working on allowing userland to use >>> llmulshift for timing computations for the native skin here, as a first >>> step. For that purpose, xnsysinfo_t has just been extended to carry the >>> pre-scaled values needed for llmulshft. I just don't want to have to >>> issue a syscall for those conversions to take place. >> Actually, the pre-scaled values could be re-computed in user-space >> without changing the ABI. > > We don't care that much about changing the ABI between -rc1 and -rc2 > actually, so it mostly depends whether we want to backport the fix to > 2.4 regarding the tsc->ns conversion, since we do not have any nodiv > implementation for the ns->tsc one there yet. But we have llmulshft, do we ? which means that we do have the problem of approximate cpu frequency. -- Gilles. ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [Xenomai-core] xenomai 2.5 rc1 timing computations. 2009-04-28 13:45 ` Gilles Chanteperdrix @ 2009-04-28 14:00 ` Philippe Gerum 2009-04-29 7:52 ` Vikesh Rambaran 0 siblings, 1 reply; 8+ messages in thread From: Philippe Gerum @ 2009-04-28 14:00 UTC (permalink / raw) To: Gilles Chanteperdrix; +Cc: Xenomai core On Tue, 2009-04-28 at 15:45 +0200, Gilles Chanteperdrix wrote: > Philippe Gerum wrote: > > On Tue, 2009-04-28 at 14:21 +0200, Gilles Chanteperdrix wrote: > >> Philippe Gerum wrote: > >>> On Tue, 2009-04-28 at 07:50 +0200, Gilles Chanteperdrix wrote: > >>>> Hi, > >>>> > >>>> currently, the situation is this: > >>>> - the timing core uses an approximate value of the cpu frequency (using > >>>> xnarch_llmulshft) to do conversions between tsc and ns; > >>>> - the APIC timer reprogrammation still uses imuldiv, that is a more > >>>> exact cpu frequency, coupled with an approximate APIC frequency > >>>> (obtained from ipipe_request_tickdev), to do the conversion between tsc > >>>> delays and APIC delays; > >>>> - the posix skin uses llimd to do conversions between timespec and > >>>> timeval structures and tsc values > >>>> - the posix and native skins in user-space still use llimd to do > >>>> conversions between ns and tsc (only if using tsc in user-space). > >>>> > >>>> These are causes of unprecisions, I think we should fix this, though it > >>>> is unlikely to be the cause of the high jitters observed by Vikesh with > >>>> 2.5-rc1. > >>>> > >>> Ack, we definitely should. Working on allowing userland to use > >>> llmulshift for timing computations for the native skin here, as a first > >>> step. For that purpose, xnsysinfo_t has just been extended to carry the > >>> pre-scaled values needed for llmulshft. I just don't want to have to > >>> issue a syscall for those conversions to take place. > >> Actually, the pre-scaled values could be re-computed in user-space > >> without changing the ABI. > > > > We don't care that much about changing the ABI between -rc1 and -rc2 > > actually, so it mostly depends whether we want to backport the fix to > > 2.4 regarding the tsc->ns conversion, since we do not have any nodiv > > implementation for the ns->tsc one there yet. > > But we have llmulshft, do we ? which means that we do have the problem > of approximate cpu frequency. > So I guess your answer to the "should backport" question is yes, we should. Ok, so we do have to run xnarch_init_u32frac and friends from userland. I will try to find a better excuse for procrastinating then... -- Philippe. ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [Xenomai-core] xenomai 2.5 rc1 timing computations. 2009-04-28 14:00 ` Philippe Gerum @ 2009-04-29 7:52 ` Vikesh Rambaran 0 siblings, 0 replies; 8+ messages in thread From: Vikesh Rambaran @ 2009-04-29 7:52 UTC (permalink / raw) To: Philippe Gerum; +Cc: Xenomai core Hi On Tue, 2009-04-28 at 16:00 +0200, Philippe Gerum wrote: > On Tue, 2009-04-28 at 15:45 +0200, Gilles Chanteperdrix wrote: > > > We don't care that much about changing the ABI between -rc1 and -rc2 > > > actually, so it mostly depends whether we want to backport the fix to > > > 2.4 regarding the tsc->ns conversion, since we do not have any nodiv > > > implementation for the ns->tsc one there yet. > > > > But we have llmulshft, do we ? which means that we do have the problem > > of approximate cpu frequency. > > > > So I guess your answer to the "should backport" question is yes, we > should. Ok, so we do have to run xnarch_init_u32frac and friends from > userland. I will try to find a better excuse for procrastinating then... > Thanx for the effort Just for info, i tested adeos patch 2.6.28.9-x86-2.2-07 with Xenomai 2.4.7 with regards the timing (as described in the thread "adeos patch 2.6.28.9-x86-2.2-07 feedback" on the xenomai-help mailing list) I compared those results with the ones i obtained from adeos-ipipe-2.6.24-x86-2.0-07.patch with Xenomai 2.4.5. My testing with Xenomai 2.5 rc1 was just to boot and see if the lockup problem was still present. Would you would like me to do the latency tests with Xenomai 2.5 rc1 ? Keep well Vicki ^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2009-04-29 7:52 UTC | newest] Thread overview: 8+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2009-04-28 5:50 [Xenomai-core] xenomai 2.5 rc1 timing computations Gilles Chanteperdrix 2009-04-28 5:52 ` Gilles Chanteperdrix 2009-04-28 10:07 ` Philippe Gerum 2009-04-28 12:21 ` Gilles Chanteperdrix 2009-04-28 13:41 ` Philippe Gerum 2009-04-28 13:45 ` Gilles Chanteperdrix 2009-04-28 14:00 ` Philippe Gerum 2009-04-29 7:52 ` Vikesh Rambaran
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.