David van Moolenbroek
232819dd49
VFS: store process suspension state as union
...
Previously, VFS would use various subsets of a number of fproc
structure fields to store state when the process is blocked
(suspended) for various reasons. As a result, there was a fair
amount of abuse of fields, hidden state, and confusion as to
which fields were used with which suspension states.
Instead, the suspension state is now split into per-state
structures, which are then stored in a union. Each of the union's
structures should be accessed only right before, during, and right
after the fp_blocked_on field is set to the corresponding blocking
type. As a result, it is now very clear which fields are in use
at which times, and we even save a bit of memory as a side effect.
Change-Id: I5c24e353b6cb0c32eb41c70f89c5cfb23f6c93df
2016-08-05 11:15:15 +00:00
..
2014-07-31 16:00:30 +02:00
2014-07-31 16:00:30 +02:00
2016-01-13 20:32:37 +01:00
2014-07-31 16:00:30 +02:00
2014-07-31 16:00:30 +02:00
2014-07-31 16:00:30 +02:00
2016-03-09 12:11:57 +00:00
2014-07-31 16:00:30 +02:00
2014-07-31 16:00:30 +02:00
2016-03-09 12:11:57 +00:00
2014-07-31 16:00:30 +02:00
2014-07-31 16:00:30 +02:00
2014-07-31 16:00:30 +02:00
2014-07-31 16:00:30 +02:00
2014-07-31 16:00:30 +02:00
2014-07-31 16:00:30 +02:00
2014-07-31 16:00:30 +02:00
2014-07-31 16:00:30 +02:00
2014-07-31 16:00:30 +02:00
2016-03-09 12:11:57 +00:00
2014-07-31 16:00:30 +02:00
2014-07-31 16:00:30 +02:00
2014-07-31 16:00:30 +02:00
2014-07-31 16:00:30 +02:00
2014-07-31 16:00:30 +02:00
2014-07-31 16:00:30 +02:00
2015-07-20 13:55:10 +00:00
2015-09-23 12:03:13 +00:00
2014-07-31 16:00:30 +02:00
2014-07-31 16:00:30 +02:00
2014-07-31 16:00:30 +02:00
2014-07-31 16:00:30 +02:00
2014-07-31 16:00:30 +02:00
2014-07-31 16:00:30 +02:00
2014-07-31 16:00:30 +02:00
2014-07-31 16:00:30 +02:00
2014-09-30 20:35:56 +00:00
2016-08-05 11:15:15 +00:00
2014-07-31 16:00:30 +02:00
2014-07-31 16:00:30 +02:00
2014-07-31 16:00:30 +02:00
2014-07-31 16:00:30 +02:00
2014-07-31 16:00:30 +02:00
2016-03-09 12:11:57 +00:00
2014-07-31 16:00:30 +02:00
2014-07-31 16:00:30 +02:00
2014-07-31 16:00:30 +02:00
2016-01-13 20:32:45 +01:00
2015-09-28 14:06:59 +00:00
2014-07-31 16:00:30 +02:00
2016-03-09 12:11:57 +00:00
2016-03-09 12:11:57 +00:00
2014-07-31 16:00:30 +02:00
2014-07-31 16:00:30 +02:00
2014-07-31 16:00:30 +02:00
2015-09-21 15:09:04 +00:00
2015-09-23 12:03:06 +00:00
2014-07-31 16:00:30 +02:00
2015-09-23 12:01:15 +00:00
2014-07-31 16:00:30 +02:00
2014-07-31 16:00:30 +02:00
2016-03-09 12:11:57 +00:00
2014-07-31 16:00:30 +02:00
2014-07-31 16:00:30 +02:00
2014-07-31 16:00:30 +02:00
2014-07-31 16:00:30 +02:00
2016-01-13 20:32:46 +01:00
2014-07-31 16:00:30 +02:00
2014-07-31 16:00:30 +02:00
2014-07-31 16:00:30 +02:00
2014-07-31 16:00:30 +02:00
2014-07-31 16:00:30 +02:00
2014-07-31 16:00:30 +02:00
2014-07-31 16:00:31 +02:00
2014-07-31 16:00:30 +02:00
2014-07-31 16:00:30 +02:00
2014-07-31 16:00:30 +02:00
2016-02-22 23:23:02 +00:00
2014-07-31 16:00:30 +02:00
2015-07-28 14:18:03 +00:00
2014-07-31 16:00:30 +02:00
2014-07-31 16:00:30 +02:00
2014-09-30 20:35:56 +00:00
2014-07-31 16:00:30 +02:00
2016-08-05 11:15:15 +00:00
2014-07-31 16:00:30 +02:00
2014-07-31 16:00:30 +02:00
2016-03-09 12:11:57 +00:00
2016-03-09 12:11:57 +00:00
2014-07-31 16:00:30 +02:00
2014-07-31 16:00:30 +02:00
2014-07-31 16:00:30 +02:00
2014-07-31 16:00:30 +02:00
2016-01-16 13:58:47 +01:00
2016-06-18 12:20:48 +00:00
2016-06-18 12:20:48 +00:00
2014-07-31 16:00:30 +02:00
2014-07-31 16:00:30 +02:00
2014-07-31 16:00:30 +02:00
2014-09-30 20:35:56 +00:00
2014-09-30 20:35:56 +00:00
2014-07-31 16:00:30 +02:00
2016-03-09 12:11:57 +00:00
2014-07-31 16:00:30 +02:00
2014-07-31 16:00:30 +02:00
2014-07-31 16:00:30 +02:00
2014-07-31 16:00:30 +02:00
2014-07-31 16:00:30 +02:00
2016-03-09 12:11:57 +00:00
2014-07-31 16:00:30 +02:00
2014-07-31 16:00:30 +02:00
2014-07-31 16:00:30 +02:00
2014-07-31 16:00:30 +02:00
2014-07-31 16:00:30 +02:00
2014-09-30 20:35:56 +00:00
2016-03-09 12:11:57 +00:00
2016-03-09 12:11:57 +00:00
2014-09-30 20:35:56 +00:00
2015-09-23 12:01:15 +00:00
2014-07-31 16:00:30 +02:00
2014-07-31 16:00:30 +02:00
2014-07-31 16:00:30 +02:00
2014-09-29 16:15:21 +00:00
2014-07-31 16:00:30 +02:00
2014-07-31 16:00:30 +02:00
2014-07-31 16:00:30 +02:00
2014-07-31 16:00:30 +02:00
2014-07-31 16:00:30 +02:00
2014-07-31 16:00:30 +02:00
2014-07-31 16:00:30 +02:00
2014-07-31 16:00:30 +02:00
2016-02-22 23:24:47 +00:00
2014-07-31 16:00:30 +02:00
2015-09-29 18:15:28 +00:00
2016-08-05 11:15:15 +00:00