From: "Richard Cooper" <peajay@funrestraints.com>
To: Stephen Ray <steve@mrmighty.net>
Cc: linux-assembly@vger.kernel.org
Subject: Re: video sync timing + softer update
Date: Tue, 30 Aug 2005 09:44:50 -0400 [thread overview]
Message-ID: <op.swbps0s2nro9m0@sucks.airplane.fire> (raw)
In-Reply-To: <4313CA51.5000902@mrmighty.net>
> What kernel series are you using?
Linux version 2.4.26
> Did you compile it yourself?
Possibly, I've compiled kernels before, but I think this one did
everything I needed out of the box, so I didn't have to recompile it.
> What is HZ set at?
Aparently 100. I wasn't aware you could change it. I wanted to once
since Linux's multitasking is so sludgy sometimes, but I couldn't figure
out how to do it.
(Turns out the slugyness is because it'll give processes more than one
timeslice in a row, it'll give them like 20 before switching tasks, so
you're only switching tasks 5 times a second. Maybe I should just run
everything under SCHED_RR...)
> If it's a 2.6 kernel, did you try enabling preemption?
I'm afraid to try 2.6. I've heard nothing good about it. (in fact, this
is the first time I've seen 2.6 mentioned without being in relation to
something not working because of it)
It's not a problem with kernel threads blocking the scheduling, the kernel
is just sitting idle when I run my test program. As best I can tell, the
kernel simply doesn't want to schedule things outside of it's 10ms time
slices. So when I try to sleep for any amount of time, the wakeup time is
always set for the beginning of one of those 10ms slices. (which is the
documented behavior, I'm just surprised to see that "realtime scheduling"
doesn't fix it) It's not that the kernel is incapable of splitting slices
between processes, it does it all the time. It just won't schedule
anything that way.
> What else is running on your machine?
1 ? 00:00:04 init
2 ? 00:00:03 keventd
3 ? 00:00:00 ksoftirqd_CPU0
4 ? 00:00:06 kswapd
5 ? 00:00:00 bdflush
6 ? 00:00:00 kupdated
10 ? 00:00:00 mdrecoveryd
11 ? 00:00:00 kreiserfsd
60 ? 00:00:00 syslogd
63 ? 00:00:00 klogd
172 ? 00:00:00 khubd
872 ? 00:00:00 usb-storage-0
873 ? 00:00:00 scsi_eh_1
972 ? 00:00:00 inetd
987 ? 00:00:00 cupsd
1009 ? 00:00:00 crond
1012 ? 00:00:00 httpd
1013 tty1 00:00:00 bash
1014 tty2 00:00:00 bash
1015 tty3 00:00:00 bash
1016 tty4 00:00:00 agetty
1017 tty5 00:00:00 agetty
1018 tty6 00:00:00 agetty
1019 tty7 00:00:00 bash
1020 tty8 00:00:00 bash
1021 tty11 00:00:00 agetty
1022 ? 00:00:00 adserver
1023 ? 00:00:00 faucet
1024 ? 00:00:00 httpd
1025 ? 00:00:00 httpd
1026 ? 00:00:00 httpd
1027 ? 00:00:00 httpd
1028 ? 00:00:00 httpd
2191 tty8 00:00:00 startx
2203 tty8 00:00:00 xinit
2204 ? 00:01:09 X
2208 tty8 00:00:00 xinitrc
2209 tty8 00:00:00 startkde
2222 ? 00:00:00 kdeinit
2225 ? 00:00:00 kdeinit
2227 ? 00:00:00 kdeinit
2230 ? 00:00:00 kdeinit
2241 ? 00:00:00 kdeinit
2242 tty8 00:00:00 kwrapper
2244 ? 00:00:00 kdeinit
2245 ? 00:00:01 kdeinit
2247 ? 00:00:00 kdeinit
2249 ? 00:00:00 kdeinit
2251 ? 00:00:00 kdeinit
2254 ? 00:00:03 kdeinit
2258 ? 00:00:00 kdeinit
2260 ? 00:00:00 korgac
2319 ? 00:00:00 adserver.pl <defunct>
2768 ? 00:00:00 adserver.pl <defunct>
2786 ? 00:00:00 adserver.pl <defunct>
3407 ? 00:00:00 adserver.pl <defunct>
6815 ? 00:00:00 httpd
8789 ? 00:00:00 adserver.pl <defunct>
9494 ? 00:00:00 adserver.pl <defunct>
10241 tty7 00:00:00 startx
10252 tty7 00:00:00 xinit
10253 ? 00:09:30 X
10257 tty7 00:00:00 xinitrc
10258 tty7 00:00:00 startkde
10277 ? 00:00:00 kdeinit
10280 ? 00:00:00 kdeinit
10282 ? 00:00:00 kdeinit
10285 ? 00:00:00 kdeinit
10294 ? 00:00:00 artsd
10296 ? 00:00:00 kdeinit
10297 tty7 00:00:00 kwrapper
10299 ? 00:00:00 kdeinit
10300 ? 00:00:04 kdeinit
10302 ? 00:00:00 kdeinit
10305 ? 00:00:02 kdeinit
10306 ? 00:00:03 kdeinit
10309 ? 00:00:06 kdeinit
10311 ? 00:00:00 kdeinit
10312 ? 00:00:00 kdeinit
10313 ? 00:00:02 kdeinit
10318 ? 00:03:35 opera
10344 ? 00:00:00 opera
10376 ? 00:00:00 adserver.pl <defunct>
11897 ? 00:00:00 adserver.pl <defunct>
11986 ? 00:00:00 adserver.pl <defunct>
11989 ? 00:00:00 adserver.pl <defunct>
11990 ? 00:00:00 adserver.pl <defunct>
11991 ? 00:00:00 adserver.pl <defunct>
12417 ? 00:00:10 gedit
12419 ? 00:00:00 gconfd-2
12421 ? 00:00:00 bonobo-activati
12480 ? 00:00:12 kdeinit
12498 ? 00:00:00 kdeinit
12879 ? 00:00:00 kdeinit
12891 ? 00:00:00 httpd
12892 ? 00:00:00 httpd
12893 ? 00:00:00 httpd
12894 ? 00:00:00 httpd
13338 tty2 00:00:00 softer
13340 tty2 00:00:00 processor_utili
13493 ? 00:00:00 kdeinit
13494 pts/1 00:00:00 bash
13565 pts/1 00:00:00 ps
top says 0.3% user, 0.7% system, 99% idle
No, I didn't mess it up, there really are two copies of X running.
> These questions could help answer whether it's possible.
I don't want to require that people modify their kernel just to run
Softer. The way it is now, you download it, and it just works. (Or it
tells you your in framebuffer mode.) I download Linux programs now and
then, and 75% of the time they don't work. I don't want Softer to be like
that.
The reason it works so well now is because it doesn't depend on anything.
You don't need libraries, you don't even have to compile it, the binary
will work just fine. If people have to modify their kernel, then it's
working becomes dependant on wether or not the kernel modifications are
sucessful. I can make sure that Softer will work, but I can't do anything
to make sure that kernel modifications will work.
next prev parent reply other threads:[~2005-08-30 13:44 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-08-27 19:28 video sync timing Richard Cooper
2005-08-29 21:25 ` video sync timing + softer update Richard Cooper
2005-08-30 1:40 ` Frank Kotler
2005-08-30 12:40 ` Richard Cooper
2005-08-30 2:54 ` Stephen Ray
2005-08-30 13:44 ` Richard Cooper [this message]
2005-08-30 17:36 ` Stephen Ray
2005-08-30 20:24 ` Richard Cooper
2005-08-31 0:51 ` video sync: result of 2.6 kernel experimenting Richard Cooper
2005-08-31 3:58 ` Stephen Ray
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=op.swbps0s2nro9m0@sucks.airplane.fire \
--to=peajay@funrestraints.com \
--cc=linux-assembly@vger.kernel.org \
--cc=steve@mrmighty.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).