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