Lines Matching +full:real +full:- +full:time
9 List: linux-kernel
12 Date: 1999-07-30 21:36:24
14 Cc'd to linux-kernel, because I don't write explanations all that often,
21 > discussed on the mailing lists---I just returned from vacation and
22 > wasn't able to follow linux-kernel for a while).
26 - we have "real address spaces" and "anonymous address spaces". The
28 user-level page tables at all, so when we do a context switch into an
33 doesn't need any user mappings - all kernel threads basically fall into
34 this category, but even "real" threads can temporarily say that for
35 some amount of time they are not going to be interested in user space,
36 and that the scheduler might as well try to avoid wasting time on
37 switching the VM state around. Currently only the old-style bdflush
40 - "tsk->mm" points to the "real address space". For an anonymous process,
41 tsk->mm will be NULL, for the logical reason that an anonymous process
42 really doesn't _have_ a real address space at all.
44 - however, we obviously need to keep track of which address space we
45 "stole" for such an anonymous user. For that, we have "tsk->active_mm",
48 The rule is that for a process with a real address space (ie tsk->mm is
49 non-NULL) the active_mm obviously always has to be the same as the real
52 For a anonymous process, tsk->mm == NULL, and tsk->active_mm is the
58 "mm_users" counter that is how many "real address space users" there are,
60 users) plus one if there are any real users.
62 Usually there is at least one real user, but it could be that the real
65 lazy users. That is often a short-lived state, because once that thread
66 gets scheduled away in favour of a real thread, the "zombie" mm gets
69 Also, a new rule is that _nobody_ ever has "init_mm" as a real MM any
72 no real VM has yet been created. So code that used to check
74 if (current->mm == &init_mm)
78 if (!current->mm)
80 instead (which makes more sense anyway - the test is basically one of "do
84 Anyway, I put a pre-patch-2.3.13-1 on ftp.kernel.org just a moment ago,
87 ugliest context switch codes - unlike the other architectures where the MM
91 (From http://marc.info/?l=linux-kernel&m=93337278602211&w=2)