priority inversion

Posted: 04-30-2004, 01:26 AM
does embedded XP scheduler has mechanisms to prevent priority inversion ?

Thanks
K

Reply With Quote

Responses to "priority inversion"

Slobodan Brcin \(eMVP\)
Guest
Posts: n/a
 
Re: priority inversion
Posted: 04-30-2004, 01:56 AM
Are you sure that you want to prevent "priority inversion", doing that would
create deadlock. Am I right?
Do you maybe want to prevent "priority boosts"?

Anyhow same things that apply to Windows XP Prof, apply to XPe as well.

Regards,
Slobodan

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Have an opinion on the effectiveness of Microsoft Embedded newsgroups? Tell
Microsoft!
https://www.windowsembeddedeval.com/...ity/newsgroups
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

"KR" <anonymous@discussions.microsoft.com> wrote in message
news:5B859A68-B86C-4D98-82D5-46C3DECEF51C@microsoft.com...
> does embedded XP scheduler has mechanisms to prevent priority inversion ?
>
> Thanks,
> KR
>

Reply With Quote
KM
Guest
Posts: n/a
 
Re: priority inversion
Posted: 04-30-2004, 01:59 AM
KR,

XP Embedded (including its scheduler) is based on XP Pro binaries. Therefore
everything that could be archived in XP Pro, could be done on XPe. And vice
verse - XP restrictions are applied to XPe.
XP/XPe itself is not reat time OS and one of the reasons is the priority
inversion, particularly in interrupt processing. To prevent the priority
inversion you will need to implement your own kernel synchronization object
(mechanism).

However, some of the limitations are bypassed with NT/XP Reat-time
extentions (e.g., Venturcom - RTSS Scheduler, INTime - Region objects). Read
here for more info:
http://www.windowsfordevices.com/art...503923807.html

Also, these articles will give you a couple of options to go for RT
extentions under XPe:
http://msdn.microsoft.com/library/de...chitecture.asp

http://msdn.microsoft.com/library/en...XPEmbedded.asp

KM
> does embedded XP scheduler has mechanisms to prevent priority inversion ?
>
> Thanks,
> KR
>

Reply With Quote
KR
Guest
Posts: n/a
 
Re: priority inversion
Posted: 04-30-2004, 06:36 AM
Hi Slobodan,

I'm not very sure of your question. How is "deadlock" created by preventing "priority inversion" . Is "Priority inheritance" mechanism used in windows XPE ?

I appreciate your response.
Regards
KR
Reply With Quote
Slobodan Brcin \(eMVP\)
Guest
Posts: n/a
 
Re: priority inversion
Posted: 04-30-2004, 06:52 AM
Hi,

I meant that globally disabling "priority inversion " could unintentionally
lead to deadlock, but this would be more a stall then a deadlock. Sorry
about all that you should disregard that statement.

For more info about scheduler under XP.
http://support.microsoft.com/default...kb;en-us;96418
http://msdn.microsoft.com/library/de...us/dllproc/bas
e/scheduling.asp

Also follow the links Konstantin gave you.

Regards,
Slobodan

"KR" <anonymous@discussions.microsoft.com> wrote in message
news:0C05FC4A-1B92-468F-AB83-B62164947EC8@microsoft.com...
> Hi Slobodan,
>
> I'm not very sure of your question. How is "deadlock" created by
preventing "priority inversion" . Is "Priority inheritance" mechanism used
in windows XPE ?
>
> I appreciate your response.
> Regards,
> KR

Reply With Quote
KR
Guest
Posts: n/a
 
Re: priority inversion
Posted: 04-30-2004, 07:21 AM
Hi Slobodan

Thanks for your response.

From the documentaion I observed that "priority inheritance" mechanism was present in win 95/98/Me but was leter removed to be replaced by "priority boosting". I wonder why Microsoft decided to go in this direction though I believe there is an inherent performance advantage by using "priority inheritance"

I appreciate you view
Thanks in advance
Regards
K

Reply With Quote
Slobodan Brcin \(eMVP\)
Guest
Posts: n/a
 
Re: priority inversion
Posted: 04-30-2004, 07:33 AM
Hi KR,

Could you tell us why are you concerned about this things. What do you want
to accomplish, you goal.
What real time performances do you require, etc.

Regards,
Slobodan


"KR" <anonymous@discussions.microsoft.com> wrote in message
news:29551ABF-6067-4E42-81AF-DF08B9646EE1@microsoft.com...
> Hi Slobodan,
>
> Thanks for your response.
>
> From the documentaion I observed that "priority inheritance" mechanism was
present in win 95/98/Me but was leter removed to be replaced by "priority
boosting". I wonder why Microsoft decided to go in this direction though I
believe there is an inherent performance advantage by using "priority
inheritance".
>
> I appreciate you view.
> Thanks in advance,
> Regards,
> KR
>

Reply With Quote
KM
Guest
Posts: n/a
 
Re: priority inversion
Posted: 04-30-2004, 08:07 AM
Slobodan,

I also agree that preventing priority inversion may lead to deadlocks (if
you run under NT scheduler!). Basically, the priority inversion machanism is
to prevent the deadlocks. NT and 95 kernel schedulers solve this a little
bit different but intention is the same - no deadlocks.

An RTX operates with its own sychronization objects, and manages the objects
different way. I don't know details and how exactly they prevent deadlocks.
But I am pretty sure that if you write an app under RTX you do not do that
"globally" meaning that RTX apps are in a different camp from regular NT
apps. RTX scheduler takes care of RTX apps and is separated from NT
scheduler.

I don't know why I am telling you this as it does not seem what KR asked
for.

Konstantin
> Hi,
>
> I meant that globally disabling "priority inversion " could
unintentionally
> lead to deadlock, but this would be more a stall then a deadlock. Sorry
> about all that you should disregard that statement.
>
> For more info about scheduler under XP.
> http://support.microsoft.com/default...kb;en-us;96418
>
http://msdn.microsoft.com/library/de...us/dllproc/bas
> e/scheduling.asp
>
> Also follow the links Konstantin gave you.
>
> Regards,
> Slobodan
>
> "KR" <anonymous@discussions.microsoft.com> wrote in message
> news:0C05FC4A-1B92-468F-AB83-B62164947EC8@microsoft.com...
> > Hi Slobodan,
> >
> > I'm not very sure of your question. How is "deadlock" created by
> preventing "priority inversion" . Is "Priority inheritance" mechanism
used
> in windows XPE ?
> >
> > I appreciate your response.
> > Regards,
> > KR
>
>

Reply With Quote
KR
Guest
Posts: n/a
 
Re: priority inversion
Posted: 04-30-2004, 08:56 AM
Hi Slobodan/KM ,

We are planning to use windows XP Embedded for our product and thus were looking for differences between VxWorks and win XPE. During this research that we noticed that "priority Inheritance" was implemented in win 9X/ME and was discontinued ( rather priority boosting was used) for NT onwards. We thus were wondering why such an approach was taken and wanted to know the real reason behind it.

I appreciate your inputs.
Regards,
Sajith
Reply With Quote
Slobodan Brcin \(eMVP\)
Guest
Posts: n/a
 
Re: priority inversion
Posted: 04-30-2004, 03:28 PM
Semaphore implementation of "priority Inheritance" is twice slower that
normal semaphore implementation. (I don't think that this was a reason
though.)
And since Windows NT/2000,XP was written as universal OS not as an real time
OS they might have thought that this was not required feature.

I never had issues with this. When you write drivers you have many other
mechanism to workaround this problem. (So it is not a problem if you don't
make it a problem by your implementation).

Regards,
Slobodan

PS:
Please tell me that you are not trying to accomplish real time of >100mS.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Have an opinion on the effectiveness of Microsoft Embedded newsgroups? Tell
Microsoft!
https://www.windowsembeddedeval.com/...ity/newsgroups
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

"KR" <anonymous@discussions.microsoft.com> wrote in message
news:5B0AF2E8-6726-4726-9AE8-771027CE70DC@microsoft.com...
> Hi Slobodan/KM ,
>
> We are planning to use windows XP Embedded for our product and thus were
looking for differences between VxWorks and win XPE. During this research
that we noticed that "priority Inheritance" was implemented in win 9X/ME and
was discontinued ( rather priority boosting was used) for NT onwards. We
thus were wondering why such an approach was taken and wanted to know the
real reason behind it.
>
> I appreciate your inputs.
> Regards,
> Sajith

Reply With Quote
 
LinkBack Thread Tools Display Modes
Reply


Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On
Forum Jump


Similar Threads
Thread Thread Starter Forum Replies Last Post
how to force the index priority? Jeje Windows Vista File Management 0 02-16-2007 03:12 PM
Setting a process priority Ramesh Customize Windows XP 10 09-12-2003 03:34 AM
increasing process priority jc stanhill Windows XP Performance & Maintenance 1 08-10-2003 07:08 PM
how to give priority to a nic Robert L [MS-MVP] Windows XP Network & Web 0 07-16-2003 01:52 PM
TCP-IP high priority ove IPX mara Windows XP Network & Web 1 07-02-2003 06:17 PM