dougm_rice.edu (Doug Moore)
User

Projects

User does not belong to any projects.

User Details

User Since
Jun 30 2017, 3:18 PM (54 w, 3 d)

Recent Activity

Jun 8 2018

dougm_rice.edu created D15703: Compute stats regarding error in pid calculations.
Jun 8 2018, 6:06 AM

Feb 6 2018

dougm_rice.edu updated the diff for D13999: add map header sentinel to vm_map search tree.

Rewrite the splay root-picking code a bit to eliminate a few redundant writes.

Feb 6 2018, 5:55 AM

Jan 29 2018

dougm_rice.edu added a comment to D13999: add map header sentinel to vm_map search tree.
In D13999#296096, @kib wrote:
In D13999#295780, @kib wrote:

Is there an assert somewhere that the map header is never returned by a lookup ?

Without this change, it is possible that vm_map_lookup_entry will return with *entry == &map->header, when the root is null or when a binary search is made for an address smaller than any in the tree. So there's no assertion to fail on that condition, and it would be incorrect to add one.

That will still be possible after this change, so that there's no cause to add an assertion.

Ok. I looked at the consumers, and either they explicitly check for the lookup address falling into the map range, or do found_entry->next if result is false.

I mean that with your previous and this changes, the header map entry looks more and more as the normal entry, which might make some futher code change erroneously fail to skip it. I want to have some protection and diagnostic for that error.

Jan 29 2018, 9:46 PM

Jan 28 2018

dougm_rice.edu added a comment to D13999: add map header sentinel to vm_map search tree.
In D13999#295780, @kib wrote:

Is there an assert somewhere that the map header is never returned by a lookup ?

Jan 28 2018, 10:50 AM

Jan 27 2018

dougm_rice.edu updated the diff for D13999: add map header sentinel to vm_map search tree.

Punctuate comments.

Jan 27 2018, 4:19 AM

Jan 26 2018

dougm_rice.edu added reviewers for D13999: add map header sentinel to vm_map search tree: kib, markj.
Jan 26 2018, 8:36 PM
dougm_rice.edu abandoned D14019: Don't splay on an out-of-range address.
Jan 26 2018, 8:31 PM
dougm_rice.edu abandoned D13398: Complete zig-zag splay, rather than zigging and looping again.
Jan 26 2018, 8:31 PM
dougm_rice.edu added a reviewer for D13999: add map header sentinel to vm_map search tree: alc.
Jan 26 2018, 3:54 PM
dougm_rice.edu updated the diff for D13999: add map header sentinel to vm_map search tree.

Endeavor to properly delete a tree node with no left child.

Jan 26 2018, 10:47 AM
dougm_rice.edu updated the diff for D13999: add map header sentinel to vm_map search tree.

Throw everything back in.

Jan 26 2018, 7:16 AM

Jan 25 2018

dougm_rice.edu updated the diff for D13999: add map header sentinel to vm_map search tree.

Null the children of the item being inserted.

Jan 25 2018, 9:07 PM
dougm_rice.edu updated the diff for D13999: add map header sentinel to vm_map search tree.

Fix function name.

Jan 25 2018, 8:37 PM
dougm_rice.edu updated the diff for D13999: add map header sentinel to vm_map search tree.

Missing *

Jan 25 2018, 6:57 PM
dougm_rice.edu updated the diff for D13999: add map header sentinel to vm_map search tree.

Let splay() do the insertion of a new node.

Jan 25 2018, 6:25 PM
dougm_rice.edu updated the diff for D13999: add map header sentinel to vm_map search tree.

Small changes to splay and unlink that I expect to break nothing.

Jan 25 2018, 4:49 PM
dougm_rice.edu updated the diff for D13999: add map header sentinel to vm_map search tree.

Back up to where I think things last worked, to start a search for where things broke again.

Jan 25 2018, 9:36 AM
dougm_rice.edu removed a reviewer for D13999: add map header sentinel to vm_map search tree: alc.
Jan 25 2018, 9:34 AM
dougm_rice.edu updated the diff for D13999: add map header sentinel to vm_map search tree.

Update a comment.

Jan 25 2018, 5:30 AM
dougm_rice.edu updated the summary of D13999: add map header sentinel to vm_map search tree.
Jan 25 2018, 5:28 AM
dougm_rice.edu updated the diff for D13999: add map header sentinel to vm_map search tree.

The changed behavior of the splay function merits a renaming, to vm_map_splay from vm_map_entry_splay.

Jan 25 2018, 5:27 AM
dougm_rice.edu updated the summary of D13999: add map header sentinel to vm_map search tree.
Jan 25 2018, 4:05 AM
dougm_rice.edu updated the diff for D13999: add map header sentinel to vm_map search tree.

Reduce the size of the diff a bit.

Jan 25 2018, 3:06 AM

Jan 24 2018

dougm_rice.edu updated the diff for D13999: add map header sentinel to vm_map search tree.

Move all tree manipulation into the splay function, by passing a map argument instead of a pointer to root, and a supplementary argument to control whether an item is inserted, or deleted, or neither. Add a assertion on splay that the address is within map bounds.

Jan 24 2018, 11:23 PM
dougm_rice.edu updated the diff for D13999: add map header sentinel to vm_map search tree.

Perhaps I found a problem with linking a new entry at the beginning. Perhaps I fixed it.

Jan 24 2018, 8:54 AM

Jan 23 2018

dougm_rice.edu updated the diff for D13999: add map header sentinel to vm_map search tree.

Put everything back in, including a fix for the failure to initialize *entry on an out-of-bounds lookup, and await news.

Jan 23 2018, 9:33 PM
dougm_rice.edu updated the diff for D14019: Don't splay on an out-of-range address.

Returning early cannot mean leaving the *entry value uninitialized.

Jan 23 2018, 6:44 PM
dougm_rice.edu updated the diff for D13999: add map header sentinel to vm_map search tree.

Drop the early exit for out-of-range addresses, which leaves *entry uninitialized.

Jan 23 2018, 6:39 PM
dougm_rice.edu updated the diff for D13999: add map header sentinel to vm_map search tree.

Fix the broken binary search.

Jan 23 2018, 4:32 PM
dougm_rice.edu added a comment to D14019: Don't splay on an out-of-range address.

The map is not an argument to vm_map_entry_splay, so the range data is not available to form an assertion.

Jan 23 2018, 4:11 PM
dougm_rice.edu updated the diff for D13999: add map header sentinel to vm_map search tree.

Restore the modifications to the tree search, and restore the range check to lookup_entry, and wait to see if those changes can be blamed for what's wrong in the big patch.

Jan 23 2018, 9:50 AM
dougm_rice.edu added a comment to D14019: Don't splay on an out-of-range address.

The origin of this patch is that I am developing changes to vm_map_entry_splay that require the address to lie within the map range, and a Peter Holm test reveals that not to be the case in at least one instance:

Jan 23 2018, 4:36 AM
dougm_rice.edu updated the diff for D13999: add map header sentinel to vm_map search tree.

Throw out everything except the changes to the splay function, to see if a problem regarding rc scripts resides there.

Jan 23 2018, 3:47 AM

Jan 22 2018

dougm_rice.edu updated the diff for D13999: add map header sentinel to vm_map search tree.

Fix another error from rushed editting. I'm surprised that it compiled.

Jan 22 2018, 9:22 PM
dougm_rice.edu added reviewers for D14019: Don't splay on an out-of-range address: alc, markj, kib.
Jan 22 2018, 7:43 PM
dougm_rice.edu created D14019: Don't splay on an out-of-range address.
Jan 22 2018, 7:43 PM
dougm_rice.edu updated the diff for D13999: add map header sentinel to vm_map search tree.

Avoid duplicated comparisons in splay.

Jan 22 2018, 7:38 PM
dougm_rice.edu updated the diff for D13999: add map header sentinel to vm_map search tree.

Have lookup_entry check that address is within map range before splaying.

Jan 22 2018, 6:50 PM
dougm_rice.edu updated the diff for D13999: add map header sentinel to vm_map search tree.

Try again to fix the right-right problem, without compilation errors. Thanks again, Peter.

Jan 22 2018, 9:24 AM
dougm_rice.edu updated the diff for D13999: add map header sentinel to vm_map search tree.

Remember to compare to end before comparing to start in the case when the first splay step is to the right and we have to consider whether the next splay step is also to the right.

Jan 22 2018, 7:08 AM

Jan 21 2018

dougm_rice.edu updated the diff for D13999: add map header sentinel to vm_map search tree.

Provide more debug information when a splay assertion fails.

Jan 21 2018, 9:19 PM
dougm_rice.edu updated the diff for D13999: add map header sentinel to vm_map search tree.

Initialize map->header.max_free too.

Jan 21 2018, 8:27 PM
dougm_rice.edu updated the diff for D13999: add map header sentinel to vm_map search tree.

Initialize map->header.adj_free in _vm_map_init.

Jan 21 2018, 8:20 PM
dougm_rice.edu updated the diff for D13999: add map header sentinel to vm_map search tree.

Fix a compilation error that I'm embarrassed to have included in the previous version.

Jan 21 2018, 6:45 PM
dougm_rice.edu created D14005: initializing map->header.eflags allows skipping one loop test.
Jan 21 2018, 7:51 AM

Jan 20 2018

dougm_rice.edu created D13999: add map header sentinel to vm_map search tree.
Jan 20 2018, 7:09 PM
dougm_rice.edu updated the diff for D13735: Assign map->header values to avoid boundary checks.

Apply suggested changes to indentation.

Jan 20 2018, 9:25 AM
dougm_rice.edu added a comment to D13735: Assign map->header values to avoid boundary checks.

I have addressed the comments (made offline) from alc. He has stated that he has no objections to the resulting patch, but that I will have to rely on someone else to give it final approval and checkin. I'd appreciate that help from somebody, please.

Jan 20 2018, 3:46 AM
dougm_rice.edu updated the diff for D13735: Assign map->header values to avoid boundary checks.

Add a comment regarding the use of sentinel values.

Jan 20 2018, 3:44 AM

Jan 16 2018

dougm_rice.edu updated the diff for D13735: Assign map->header values to avoid boundary checks.

Make recommended formatting changes to a couple of loops.

Jan 16 2018, 6:02 PM
dougm_rice.edu added reviewers for D13735: Assign map->header values to avoid boundary checks: markj, kib.
Jan 16 2018, 3:37 AM

Jan 14 2018

dougm_rice.edu updated the diff for D13707: Defer and aggregate swap_pager_meta_build frees.

Add recommended space to one comment.

Jan 14 2018, 5:37 PM

Jan 13 2018

dougm_rice.edu updated the diff for D13707: Defer and aggregate swap_pager_meta_build frees.

Apply reviewer suggestions.

Jan 13 2018, 5:08 PM
dougm_rice.edu added a comment to D13735: Assign map->header values to avoid boundary checks.

Peter Holm, can you please stress test this patch at your convenience?

Jan 13 2018, 4:49 AM
dougm_rice.edu updated subscribers of D13735: Assign map->header values to avoid boundary checks.
Jan 13 2018, 4:48 AM
dougm_rice.edu added reviewers for D13707: Defer and aggregate swap_pager_meta_build frees: kib, markj.
Jan 13 2018, 4:46 AM

Jan 6 2018

dougm_rice.edu abandoned D12511: replace blist_fill with list_alloc_all.
Jan 6 2018, 7:42 PM
dougm_rice.edu removed a reviewer for D12511: replace blist_fill with list_alloc_all: alc.
Jan 6 2018, 7:40 PM

Jan 3 2018

dougm_rice.edu updated the diff for D12635: Allow allocations across meta boundaries.

Rewrite a comment.

Jan 3 2018, 10:52 PM
dougm_rice.edu updated the diff for D12635: Allow allocations across meta boundaries.

Adopt reviewer suggestions. Reduce the size of the diff by reformatting modified comments to have fewer lines changed.

Jan 3 2018, 9:07 PM
dougm_rice.edu added inline comments to D12635: Allow allocations across meta boundaries.
Jan 3 2018, 6:59 PM
dougm_rice.edu updated the diff for D13735: Assign map->header values to avoid boundary checks.

Eliminate unneeded &map->header checks in vm_mmap.c.

Jan 3 2018, 2:48 AM

Jan 2 2018

dougm_rice.edu updated the diff for D13735: Assign map->header values to avoid boundary checks.

Associate min_offset and max_offset with header.end and header.start, respectively.

Jan 2 2018, 8:50 AM
dougm_rice.edu created D13735: Assign map->header values to avoid boundary checks.
Jan 2 2018, 6:49 AM
dougm_rice.edu updated the diff for D12635: Allow allocations across meta boundaries.

Restore missing blist.h changes.

Jan 2 2018, 5:48 AM

Jan 1 2018

dougm_rice.edu added inline comments to D13398: Complete zig-zag splay, rather than zigging and looping again.
Jan 1 2018, 7:17 PM
dougm_rice.edu added inline comments to D13398: Complete zig-zag splay, rather than zigging and looping again.
Jan 1 2018, 7:01 PM
dougm_rice.edu updated the diff for D13398: Complete zig-zag splay, rather than zigging and looping again.

Fixup comments, and whitespace.

Jan 1 2018, 6:33 PM

Dec 31 2017

dougm_rice.edu updated the diff for D13398: Complete zig-zag splay, rather than zigging and looping again.

On a failed lookup, stop trying to avoid pulling both neighbors of the missing item to the top of the tree.

Dec 31 2017, 8:40 PM
dougm_rice.edu updated the diff for D12635: Allow allocations across meta boundaries.

Apply suggested whitespace and commenting changes.

Dec 31 2017, 5:11 AM
dougm_rice.edu updated the diff for D13707: Defer and aggregate swap_pager_meta_build frees.

Add missing declaration.

Dec 31 2017, 5:05 AM
dougm_rice.edu created D13707: Defer and aggregate swap_pager_meta_build frees.
Dec 31 2017, 5:03 AM
dougm_rice.edu updated the diff for D13290: allow frees to aggregate in swap_pager_copy.

Drop unwanted comment.

Dec 31 2017, 3:36 AM
dougm_rice.edu updated the diff for D13290: allow frees to aggregate in swap_pager_copy.

Capitalize in a comment.

Dec 31 2017, 1:02 AM
dougm_rice.edu updated the diff for D13290: allow frees to aggregate in swap_pager_copy.

Fix 'else' spacing.

Dec 31 2017, 12:31 AM

Dec 30 2017

dougm_rice.edu updated the diff for D13290: allow frees to aggregate in swap_pager_copy.

Adopt reviewer comments about comments.

Dec 30 2017, 8:22 PM
dougm_rice.edu updated the diff for D13290: allow frees to aggregate in swap_pager_copy.

Adopt reviewer suggestions.

Dec 30 2017, 4:46 PM
dougm_rice.edu added reviewers for D13290: allow frees to aggregate in swap_pager_copy: kib, markj.
Dec 30 2017, 6:52 AM

Dec 10 2017

dougm_rice.edu updated the diff for D12635: Allow allocations across meta boundaries.

Eliminate whitespace changes to comments that may have discouraged reviewers.

Dec 10 2017, 11:23 PM
dougm_rice.edu updated the diff for D13398: Complete zig-zag splay, rather than zigging and looping again.

Adding code to eliminate a redundant comparison.

Dec 10 2017, 10:59 PM

Dec 7 2017

dougm_rice.edu added inline comments to D13398: Complete zig-zag splay, rather than zigging and looping again.
Dec 7 2017, 6:26 PM

Dec 6 2017

dougm_rice.edu created D13398: Complete zig-zag splay, rather than zigging and looping again.
Dec 6 2017, 6:42 PM

Dec 2 2017

dougm_rice.edu abandoned D13347: change top-down splay.
Dec 2 2017, 11:05 PM
dougm_rice.edu added a comment to D13346: Handle address wrap errors in vm_map_find().
Dec 2 2017, 9:54 PM
dougm_rice.edu created D13347: change top-down splay.
Dec 2 2017, 9:53 PM
dougm_rice.edu added a comment to D13346: Handle address wrap errors in vm_map_find().
Dec 2 2017, 9:51 PM
dougm_rice.edu added a comment to D13346: Handle address wrap errors in vm_map_find().

If you are concerned about a search for a missing tree element flipping the top two tree nodes for no good reason, as for example when looking for 1 in the set (0 2) and flipping the tree back and forth between

Dec 2 2017, 9:50 PM

Dec 1 2017

dougm_rice.edu added a comment to D12635: Allow allocations across meta boundaries.

Would you please stress test this patch, Peter?

Dec 1 2017, 9:08 PM
dougm_rice.edu updated subscribers of D12635: Allow allocations across meta boundaries.
Dec 1 2017, 9:07 PM

Nov 29 2017

dougm_rice.edu added a reviewer for D13290: allow frees to aggregate in swap_pager_copy: alc.
Nov 29 2017, 8:41 AM
dougm_rice.edu created D13290: allow frees to aggregate in swap_pager_copy.
Nov 29 2017, 8:40 AM

Nov 26 2017

dougm_rice.edu updated the diff for D12397: combine block frees in swap_pager_meta_frees.

Add missing brace.

Nov 26 2017, 6:21 PM
dougm_rice.edu updated the diff for D12397: combine block frees in swap_pager_meta_frees.

Update an assertion.

Nov 26 2017, 6:13 PM
dougm_rice.edu updated the diff for D12397: combine block frees in swap_pager_meta_frees.

Drop 'empty' variable.

Nov 26 2017, 6:10 PM
dougm_rice.edu updated the diff for D12397: combine block frees in swap_pager_meta_frees.

Rename the new function, and reposition its declaration.

Nov 26 2017, 6:04 PM
dougm_rice.edu updated the diff for D12397: combine block frees in swap_pager_meta_frees.

Fold two lines into one, where de-indentation now allows it.

Nov 26 2017, 5:51 PM
dougm_rice.edu added inline comments to D12397: combine block frees in swap_pager_meta_frees.
Nov 26 2017, 5:24 PM
dougm_rice.edu updated the diff for D12397: combine block frees in swap_pager_meta_frees.

Add a function to test for empty block ranges, and use it to simplify code.

Nov 26 2017, 5:23 PM

Nov 25 2017

dougm_rice.edu updated the diff for D12397: combine block frees in swap_pager_meta_frees.

Fix prototype.

Nov 25 2017, 11:52 PM
dougm_rice.edu added inline comments to D12397: combine block frees in swap_pager_meta_frees.
Nov 25 2017, 9:20 PM