• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 664
  • Last Modified:

AIX scheduler

Does anybody have some good information (books, docs, URLs) on the AIX scheduler. I know quite a bit about it, but some pieces are still missing.

The background: I have an app with a fixed priority that has to run every 20msec (that makes it some kind of real time ...). The app will run for not more than 2msec. If I use the 'monitor' tool that's available, sometimes I see my app using ~50% of the CPU time. That is apparently wrong. The scheduler counts ticks (and here is where I have gaps) looking at the state of the app (running, dormant etc) for every running app. It seems I get in sync with the scheduler somewhere and it sees me more often that it should ...

Any pointers?

======
Werner
0
griessh
Asked:
griessh
1 Solution
 
nhuanvnCommented:
If your app makes some kind of realtime, UNIX cannot
assure it. There are two variants of UNIX that can
guarantee realtime feature, the RTAI(realtime application
interface) and RTLinux(realtime Linux).
Check www.lineo.com for RTAI. You can have the link
to RTLinux through a google search.
0
 
griesshAuthor Commented:
nhuanvn

Thanks for the reply. I think I understand my app good enough, I am working with and on it now for 6 years. It is as close to RT as I need it, don't worry about that. My problem is to understand the AIX scheduler.

======
Werner
0
 
_seregaCommented:
just a tip:
you can examine exactly what's happening by reading
proc | user structure using kvm | /dev/kmem | procfs interface.
that structures contain information about in-kernel, in-user times, and bunch of stuff that's not available on getrusage().
i know nothing about AIX scheduler. but that what you're saying sounds strange. scheduler must release the processor resource if your app falls asleep, such behaviour you describe
reminds not sleep condition, but infinite loop. try to take a look on what routine your app stops, `ps' should show it as wchan.
on normal situation, it should be one of the 'sleepy' system calls.
0
Receive 1:1 tech help

Solve your biggest tech problems alongside global tech experts with 1:1 help.

 
griesshAuthor Commented:
_serega

Thanks for your comment. I think I know how to retrieve ALL the information the kernel can give me about processes on the system. I also understand the basic funtionality of a scheduler. Knowing that it just adds 'ticks' to a counter when it 'sees' a running process I have the feeling that my process is just too much 'synced' with the scheduler. But I need a bit more info to prove that.

So the conclusion: I really need info on the AIX scheduler, preferable from somebody who knows AIX :-)

======
Werner
0
 
_seregaCommented:
so if you know so much, run objdump -d on kernel,
find out the scheduler code, and read it.
i'm shure you know what objdump is,
and how to find the code, and the your target  platform's  instruction set
0
 
griesshAuthor Commented:
_serega

I tried to explain to you that I HAVE the information you suggest to retrieve. My problem is how that information is created.

If you have more of those sarcastic comments like the last one I'd suggest you just keep them for yourself ...

======
Werner
0
 
griesshAuthor Commented:
No more feedback, I'll have to contact IBM <sigh> ...
======
Werner
0
 
MindphaserCommented:
Points refunded and moved to PAQ

** Mindphaser - Community Support Moderator **
0

Featured Post

2018 Annual Membership Survey

Here at Experts Exchange, we strive to give members the best experience. Help us improve the site by taking this survey today! (Bonus: Be entered to win a great tech prize for participating!)

Tackle projects and never again get stuck behind a technical roadblock.
Join Now