• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1Kernel code and interface.
2--------------------------
3
4* Compile time switches
5
6There is only one, but very important, compile time switch.
7It is not settable by "make config", but should be selected
8manually and after a bit of thinking in <include/net/pkt_sched.h>
9
10PSCHED_CLOCK_SOURCE can take three values:
11
12	PSCHED_GETTIMEOFDAY
13	PSCHED_JIFFIES
14	PSCHED_CPU
15
16
17 PSCHED_GETTIMEOFDAY
18
19Default setting is the most conservative PSCHED_GETTIMEOFDAY.
20It is very slow both because of weird slowness of do_gettimeofday()
21and because it forces code to use unnatural "timeval" format,
22where microseconds and seconds fields are separate.
23Besides that, it will misbehave, when delays exceed 2 seconds
24(f.e. very slow links or classes bounded to small slice of bandwidth)
25To resume: as only you will get it working, select correct clock
26source and forget about PSCHED_GETTIMEOFDAY forever.
27
28
29 PSCHED_JIFFIES
30
31Clock is derived from jiffies. On architectures with HZ=100
32granularity of this clock is not enough to make reasonable
33bindings to real time. However, taking into account Linux
34architecture problems, which force us to use artificial
35integrated clock in any case, this switch is not so bad
36for schduling even on high speed networks, though policing
37is not reliable.
38
39
40 PSCHED_CPU
41
42It is available only for alpha and pentiums with correct
43CPU timestamp. It is the fastest way, use it when it is available,
44but remember: not all pentiums have this facility, and
45a lot of them have clock, broken by APM etc. etc.
46
47
48