- 2012年 4月 20日 3 次提交
-
-
由 David Benjamin 提交于
Simplifies things. radix_node is not RCU-freed and remains a power of two. update_range always succeeds and doesn't need to return how far it got.
-
由 David Benjamin 提交于
Start at the appropriate index and stop early enough.
-
由 David Benjamin 提交于
We want the level for use with index(). Probably should just drop cur_end now that it's redundant. Also reorder all those arguments to be saner.
-
- 2012年 4月 12日 1 次提交
-
-
由 David Benjamin 提交于
First version that works. There are some inefficiencies that need to go. Also it doesn't yet un-collapse nodes when there's no need to do so. Although, experimentally, it doesn't appear that the collapsing feature gets used much. If I bring bits_per_level down to 4, it seems to end up a bit more useful.
-
- 2012年 4月 11日 8 次提交
-
-
由 David Benjamin 提交于
Conceivably it could use descend's replacement, but it's already pretty simple.
-
由 David Benjamin 提交于
Removes a use of descend in skip_empty.
-
由 David Benjamin 提交于
Otherwise they'll bounce on reference counts.
-
由 David Benjamin 提交于
-
由 David Benjamin 提交于
descend will still break. Also we don't create them yet. But descend probably needs to change.
-
由 David Benjamin 提交于
Still assuming that the leaf is at level 0, but we're getting there.
-
由 David Benjamin 提交于
When large chunks of tree get RCU-freed, we'll detach them and only gc_delayed() the root.
-
由 David Benjamin 提交于
Need a silly radix_ptr to deal with our std::atomic not accepting (integer-sized) object types. We're also not using entry_dead anywhere. Also results in way more code since we don't have markptr's convenience methods anymore. Appropriate methods will be added when the full locking scheme is implemented.
-
- 2012年 4月 10日 6 次提交
-
-
由 David Benjamin 提交于
-
由 David Benjamin 提交于
-
由 David Benjamin 提交于
-
由 David Benjamin 提交于
Possibly this just wants to live in the radix_node destructor. Right now we need level information, but we can stick that in without increasing the malloc size, and we'll have a bit to use instead later.
-
由 David Benjamin 提交于
Not actually doing anything with RCU yet, but we will at some point.
-
由 David Benjamin 提交于
Gives us room to make radix_node rcu_freed.
-
- 2012年 4月 09日 2 次提交
-
-
由 Silas Boyd-Wickizer 提交于
-
由 Silas Boyd-Wickizer 提交于
-
- 2012年 4月 08日 20 次提交
-
-
由 Silas Boyd-Wickizer 提交于
-
由 Silas Boyd-Wickizer 提交于
-
由 Silas Boyd-Wickizer 提交于
The only locking is "point-to-point" between condvar sleep in one proc and condvar wakeup in another.
-
由 Silas Boyd-Wickizer 提交于
-
由 Silas Boyd-Wickizer 提交于
-
由 Silas Boyd-Wickizer 提交于
-
由 Nickolai Zeldovich 提交于
-
由 Nickolai Zeldovich 提交于
half-broken implementation of syscall/sysret; exec seems to work fine with syscall/sysret now.
-
由 Silas Boyd-Wickizer 提交于
-
由 Silas Boyd-Wickizer 提交于
-
由 Austin Clements 提交于
-
由 Silas Boyd-Wickizer 提交于
-
由 Austin Clements 提交于
-
由 Austin Clements 提交于
A change in any kernel source may change the syscall definitions, so those need to be regenerated, but previously this would cause everything else to be likewise regenerated. Avoid this by only updating the generated file if its contents actually change. This also makes these rules better behaved when there are errors, since previously they would leave partially-generated files that would confuse the next make run.
-
由 Austin Clements 提交于
-
由 Austin Clements 提交于
These are no longer necessary because of how we generate the syscall vector array and removing them discourages calling syscall entry points from inside the kernel.
-