From: MacWilliam, Ian Sent: Thursday, September 26, 2002 10:55 AM To: McIntosh, Paul Subject: RE: [Solution #130,511,829]: WINDOWS/UNIX: What should be the priority of "MAIN", "TIMER" and "DEBUG" in RTTarget.h Hi Paul, Please see my inlined comments marked with "IAM2" I remain doubtless :-) We actually agree :-) :-) But, I don't think you are getting my point just yet :-( I have added more explanations and examples of how sections of your solution might be re-written for greater clarity :-) We understand it, but will the naive reader understand it? There are two types of "priority" being discussed and I want to distinguish between them by giving them names, "logical" and "numerical". These are the terms already used in solution 115324604, so it would be good if your solution used the same terms, for consistency across solutions. Cheers, Ian M. -----Original Message----- From: McIntosh, Paul Sent: Thursday, September 26, 2002 2:15 AM To: MacWilliam, Ian Subject: RE: [Solution #130,511,829]: WINDOWS/UNIX: What should be the priority of "MAIN", "TIMER" and "DEBUG" in RTTarget.h Ian, It's taken me a while to get back to this - basically you have put doubts in my mind and I think I'm about to put doubts in yours ;) The Connexis Solution you mentioned suggested that the values were _not_ OS dependant. It could be the case for Connexis but I see the TargetRTS as _being_ OS dependant. IAM2 - Solution 115324604 doesn't say that the priorities are not OS dependent, it states that the bounds checking constants are, which is a tricky distinction and this is what Cherie and I worked on getting as clear as possible for the reader of her technote. Here is what Solution 115324604 says... > The CNX_PRIORITY_MIN and CNX_PRIORITY_MAX are used by Connexis to do bounds checking > of thread priorities, i.e. is the given priority a legal value. They should be set > to the lowest and highest numerical, not logical, thread values as defined by the > operating system. Looking at 2 OS's RTTarget.h's backs me up... Tornado 2 #define DEFAULT_DEBUG_PRIORITY 60 #define DEFAULT_MAIN_PRIORITY 75 #define DEFAULT_TIMER_PRIORITY 70 WinCE #define DEFAULT_DEBUG_PRIORITY 240 #define DEFAULT_MAIN_PRIORITY 250 #define DEFAULT_TIMER_PRIORITY 245 NT #define DEFAULT_DEBUG_PRIORITY 2 #define DEFAULT_MAIN_PRIORITY 0 #define DEFAULT_TIMER_PRIORITY 1 I think I am right, I just want to check. Cheers, Paul > -----Original Message----- > From: MacWilliam, Ian > Sent: Wednesday, 21 August 2002 4:26 AM > To: McIntosh, Paul > Subject: [Solution #130,511,829]: WINDOWS/UNIX: What should be the > priority of "MAIN", "TIMER" and "DEBUG" in RTTarget.h > > > Hi Paul, > > Good solution. Here are some comments (see also inlines > marked by "IAM") > Tentatively passed, subject to addressing the comments. I > will leave it to your good judgment. (If you want a > re-review, just ask :-) > > Cheers, Ian M. > > In solution 115324604 - "WINDOWS/UNIX: Connexis: What do the > CNX_PRIORITY_MIN and CNX_PRIORITY_MAX values represent?" > Cherie and I worked long and hard on getting the wording > clear (at least we think we were clear :-) We made a > distinction between "numerical" and "logical" values for > thread priorities. You may want to have a look at solution > 115324604 and then consider rewording your solution slightly. IAM2 - please see below for my suggestions on how things could be reworded for greater clarity. > > You need to fill in the Client Platform, Client OS, Client OS > Versions fields :-) IAM2 - These fields still need to be filled in. > > > > > > [Solution #130,511,829]: WINDOWS/UNIX: What should be the > priority of "MAIN", "TIMER" and "DEBUG" in RTTarget.h > IAM - There are no "MAIN" etc. in RTTarget.h, they are > DEFAULT_MAIN_PRIORITY, etc. I would suggest an alternate > wording: "WINDOWS/UNIX: To what values should the Main, > Timer and Debug threads be set in the RTTarget.h file?" IAM2 - above comment still applies IAM2 - WINDOWS/UNIX: To what values should the Main, Debug and Timer thread priorities be set in RTTarget.h? > > Defect ID: # > > > For Rose-RT 2002.05.00.305.000 > IAM - This solution applies to multiple Product Versions, you > should add some more to the list. IAM2 - above comment still applies > > > Keywords: > priority,RTTarget.h,DEFAULT_DEBUG_PRIORITY,DEFAULT_MAIN_PRIORI > TY,DEFAULT_TIMER_PRIORITY > IAM - consider adding "thread" to the keywords IAM2 - above comment still applies > > > Solution: > QUESTION: > > The online documentation "C++ Porting Guide - TargetRTS > configuration definitions" > > IAM - The path to the online help section should be: "C++ > > Porting Guide > TargetRTS Porting Example > TargetRTS > configuration definitions" IAM2 - above comment still applies > > states the following for Tornado. > > #define DEFAULT_DEBUG_PRIORITY 60 > #define DEFAULT_MAIN_PRIORITY 75 > #define DEFAULT_TIMER_PRIORITY 70 > > How should these be configured for other targets? > > ANSWER: > > Depending on the way the priority levels are implemented in > the RTOS (RealTime Operating System), the values will be > different for each target. > On some targets lower values mean > higher priority, and on others, the higher the values mean > higher priority. Also the number of priority levels and how > they are used will vary for RTOS to RTOS. IAM2 - alternate wording follows... In some RTOS's lower numerical values mean higher logical priorities, and in others, higher numerical values mean higher logical priorities. > > To express the priority levels in a non-RTOS specific way, > the following are the priority levels relative to the MAIN > thread priority. The values to use can then be determined by > the priority levels of the specific RTOS. IAM2 - alternate wording follows... To express the priority levels in a non-RTOS specific way, the following are the logical priority levels relative to the MAIN thread. The appropriate numerical values can then be determined by the referring to the documentation for the specific RTOS. > > #define DEFAULT_DEBUG_PRIORITY > #define DEFAULT_MAIN_PRIORITY > #define DEFAULT_TIMER_PRIORITY IAM2 --- alternate wording follows... #define DEFAULT_DEBUG_PRIORITY #define DEFAULT_MAIN_PRIORITY #define DEFAULT_TIMER_PRIORITY > > > Rational Customer Service Policies and Information: > http://www.rational.com/support/info.jsp > > > >