Solved

AIX scheduler

Posted on 2001-09-12
8
622 Views
Last Modified: 2013-12-06
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
Comment
Question by:griessh
8 Comments
 
LVL 1

Expert Comment

by:nhuanvn
Comment Utility
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
 
LVL 11

Author Comment

by:griessh
Comment Utility
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
 

Expert Comment

by:_serega
Comment Utility
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
 
LVL 11

Author Comment

by:griessh
Comment Utility
_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
Highfive Gives IT Their Time Back

Highfive is so simple that setting up every meeting room takes just minutes and every employee will be able to start or join a call from any room with ease. Never be called into a meeting just to get it started again. This is how video conferencing should work!

 

Expert Comment

by:_serega
Comment Utility
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
 
LVL 11

Author Comment

by:griessh
Comment Utility
_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
 
LVL 11

Author Comment

by:griessh
Comment Utility
No more feedback, I'll have to contact IBM <sigh> ...
======
Werner
0
 
LVL 6

Accepted Solution

by:
Mindphaser earned 0 total points
Comment Utility
Points refunded and moved to PAQ

** Mindphaser - Community Support Moderator **
0

Featured Post

What Should I Do With This Threat Intelligence?

Are you wondering if you actually need threat intelligence? The answer is yes. We explain the basics for creating useful threat intelligence.

Join & Write a Comment

Hello fellow BSD lovers, I've created a patch process for patching openjdk6 for BSD (FreeBSD specifically), although I tried to keep all BSD versions in mind when creating my patch. Welcome to OpenJDK6 on BSD First let me start with a little …
A metadevice consists of one or more devices (slices). It can be expanded by adding slices. Then, it can be grown to fill a larger space while the file system is in use. However, not all UNIX file systems (UFS) can be expanded this way. The conca…
Learn how to get help with Linux/Unix bash shell commands. Use help to read help documents for built in bash shell commands.: Use man to interface with the online reference manuals for shell commands.: Use man to search man pages for unknown command…
Learn how to navigate the file tree with the shell. Use pwd to print the current working directory: Use ls to list a directory's contents: Use cd to change to a new directory: Use wildcards instead of typing out long directory names: Use ../ to move…

763 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

7 Experts available now in Live!

Get 1:1 Help Now