Page MenuHomeFreeBSD

dougm_rice.edu (Doug Moore)
User

Projects

User does not belong to any projects.

User Details

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

Recent Activity

Thu, Dec 13

dougm_rice.edu updated the diff for D17794: Eliminate adj_free field from vm_map_entry.

Treat the header node as NULL in findspace, just as it is treated that way in vm_map_entry_set_max_free.

Thu, Dec 13, 4:23 PM

Wed, Dec 12

dougm_rice.edu updated the diff for D17794: Eliminate adj_free field from vm_map_entry.

Treat the sentinel node as a NULL for computing max_free values.

Wed, Dec 12, 10:26 PM
dougm_rice.edu updated the diff for D18000: Track stats on effectivess of bm_bighint field.
Wed, Dec 12, 4:35 PM
dougm_rice.edu updated the diff for D17794: Eliminate adj_free field from vm_map_entry.

Rebuild on top of a working-again D13999 patch.

Wed, Dec 12, 9:51 AM
dougm_rice.edu updated the diff for D13999: add map header sentinel to vm_map search tree.

Dare to change unlink again to walk the right spine also, and try to put the pieces together again afterward.

Wed, Dec 12, 6:14 AM
dougm_rice.edu updated the diff for D13999: add map header sentinel to vm_map search tree.

Fix dumb error in the last one.

Wed, Dec 12, 5:25 AM

Tue, Dec 11

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

Just change the processing of the left spine a wee bit from what worked before, and see if that breaks.

Tue, Dec 11, 9:32 PM
dougm_rice.edu updated the diff for D13999: add map header sentinel to vm_map search tree.

Just change unlink from the last working version by walking the left and right spines of the found node, without relying on splay_split to do it, and find the new root after that.

Tue, Dec 11, 10:35 AM
dougm_rice.edu updated the diff for D18000: Track stats on effectivess of bm_bighint field.

Use sysctl to make stats available. Update stats atomically.

Tue, Dec 11, 4:09 AM
dougm_rice.edu updated the diff for D13999: add map header sentinel to vm_map search tree.

Handle the special case of deleting the max entry.

Tue, Dec 11, 3:55 AM

Mon, Dec 10

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

Add null checks for root children in vm_map_entry_unlink.

Mon, Dec 10, 4:50 PM

Sun, Dec 9

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

Reduce the code size in unlink by reusing splay_split.

Sun, Dec 9, 9:48 PM
dougm_rice.edu updated the test plan for D17794: Eliminate adj_free field from vm_map_entry.
Sun, Dec 9, 7:22 PM
dougm_rice.edu updated the diff for D17794: Eliminate adj_free field from vm_map_entry.

Combine the splay-sentinel patch with the patch that drops the adj_free field from vm_map_entry.

Sun, Dec 9, 7:22 PM

Sat, Dec 8

dougm_rice.edu updated the test plan for D18474: Stop updating leaf hint after last block allocation when cursor affected resul.
Sat, Dec 8, 4:40 AM
dougm_rice.edu updated the diff for D18474: Stop updating leaf hint after last block allocation when cursor affected resul.
Sat, Dec 8, 4:24 AM
dougm_rice.edu updated the diff for D18474: Stop updating leaf hint after last block allocation when cursor affected resul.

Apply reviewer suggestions.

Sat, Dec 8, 3:59 AM

Fri, Dec 7

dougm_rice.edu updated the diff for D18474: Stop updating leaf hint after last block allocation when cursor affected resul.

Adopt style suggestions. Slightly improve the quality of the bighint for this special case.

Fri, Dec 7, 5:52 PM
dougm_rice.edu created D18474: Stop updating leaf hint after last block allocation when cursor affected resul.
Fri, Dec 7, 4:25 PM

Tue, Dec 4

dougm_rice.edu added a reviewer for D17999: Avoid testing bighint in blist_alloc: pho.
Tue, Dec 4, 11:12 PM
dougm_rice.edu abandoned D18404: Seek to make leaf allocation less mysterious.

Dropped from phabricator. Added to subr_blist super-patch email spam.

Tue, Dec 4, 4:53 AM
dougm_rice.edu abandoned D18027: Pre-load a blist before interactive testing.

Dropping from phabricator. Adding to subr_blist super-patch email-spam.

Tue, Dec 4, 4:53 AM
dougm_rice.edu abandoned D18000: Track stats on effectivess of bm_bighint field.

Dropping from phabricator. Part of the subr_blist super-patch to be emailed instead.

Tue, Dec 4, 4:53 AM
dougm_rice.edu abandoned D17980: simplify next_leaf.

Removed from phabricator. Available by email.

Tue, Dec 4, 4:49 AM

Mon, Dec 3

dougm_rice.edu abandoned D18040: Check if some block can be safely freed.

These changes have served their purpose in debugging subr_list.c problems, so they're being discarded.

Mon, Dec 3, 9:11 PM
dougm_rice.edu abandoned D17970: Just put the map header in the vm_map tree.
Mon, Dec 3, 9:08 PM

Sun, Dec 2

dougm_rice.edu updated the diff for D17999: Avoid testing bighint in blist_alloc.
Sun, Dec 2, 8:42 PM

Sat, Dec 1

dougm_rice.edu created D18404: Seek to make leaf allocation less mysterious.
Sat, Dec 1, 10:06 PM
dougm_rice.edu updated the diff for D13999: add map header sentinel to vm_map search tree.

Abandon attempts to make callers of vm_map_lookup_entry adhere to range limits on their address inquires, and just go back to having vm_map_lookup_entry check for out-of-bounds address.

Sat, Dec 1, 6:37 PM
dougm_rice.edu updated the diff for D13999: add map header sentinel to vm_map search tree.

In vm_map_wire, use VM_MAP_RANGE_CHECK before testing start and end for equality, since it might make them equal and let the function exit before a possible lookup for address vm_map_max, which is outside the valid range.

Sat, Dec 1, 9:21 AM
dougm_rice.edu updated the diff for D13999: add map header sentinel to vm_map search tree.

Allow lookups for the address at the upper bound of the map range.

Sat, Dec 1, 8:50 AM

Fri, Nov 30

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

Fix typo.

Fri, Nov 30, 8:52 PM
dougm_rice.edu updated the diff for D13999: add map header sentinel to vm_map search tree.

In vm_fault.c, make sure that vm_map_lookup is not invoked with and invalid address.

Fri, Nov 30, 8:28 PM
dougm_rice.edu updated the diff for D13999: add map header sentinel to vm_map search tree.

Make it compile.

Fri, Nov 30, 4:47 PM
dougm_rice.edu updated the diff for D17999: Avoid testing bighint in blist_alloc.

Update a comment. Fix a style issue.

Fri, Nov 30, 8:07 AM
dougm_rice.edu updated the diff for D13999: add map header sentinel to vm_map search tree.

In vm_map_lookup_entry, add a KASSERT to usurp an exit case, so that I can either delete the exit case, or find the caller passing the bad argument that creates the need for the exit case and fix the caller.

Fri, Nov 30, 4:51 AM

Tue, Nov 27

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

Fix a broken adj_free calculation in _link. Eliminate two gratuitous differences from the original.

Tue, Nov 27, 8:44 PM
dougm_rice.edu added a comment to D18058: Handle the possiblity that the cursor has already passed the free blocks of a meta-node..

The stack trace shows a panic call from subr_blist.c:828. After this change was accepted with revision 340914, that panic line moved from line 828 to line 830. Can you double-check to make sure that you're testing a version that includes this change?

Tue, Nov 27, 6:14 PM
dougm_rice.edu updated the diff for D13999: add map header sentinel to vm_map search tree.

Drop after_where argument from link. Cleanup unlink.

Tue, Nov 27, 6:00 PM

Mon, Nov 26

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

Restore vm_map_entry_splay with its original arguments. Break its split and merge phases into separate functions, and use those functions, instead of vm_map_entry_splay, to implement link and unlink.

Mon, Nov 26, 8:27 AM

Sat, Nov 24

dougm_rice.edu updated the summary of D17999: Avoid testing bighint in blist_alloc.
Sat, Nov 24, 11:59 PM
dougm_rice.edu updated the diff for D18058: Handle the possiblity that the cursor has already passed the free blocks of a meta-node..

Allow bighint to be updated for a meta-node where the cursor lies ahead of all nonempty children, or even when there are no nonempty children, since blist_alloc depends on a reduction of the root bighint to allow a failed allocation to finish.

Sat, Nov 24, 8:36 PM

Wed, Nov 21

dougm_rice.edu retitled D18058: Handle the possiblity that the cursor has already passed the free blocks of a meta-node. from Handle the possiblity that the cursor has already passed the free nodes of a meta-node. to Handle the possiblity that the cursor has already passed the free blocks of a meta-node..
Wed, Nov 21, 4:18 AM
dougm_rice.edu updated the summary of D18058: Handle the possiblity that the cursor has already passed the free blocks of a meta-node..
Wed, Nov 21, 4:11 AM
dougm_rice.edu updated the diff for D18058: Handle the possiblity that the cursor has already passed the free blocks of a meta-node..
Wed, Nov 21, 4:10 AM

Tue, Nov 20

dougm_rice.edu created D18058: Handle the possiblity that the cursor has already passed the free blocks of a meta-node..
Tue, Nov 20, 9:12 PM
dougm_rice.edu updated the diff for D18040: Check if some block can be safely freed.

In blist_meta_alloc, mask should not be zero. However, if the only free space in a leaf is behind the cursor, then we zero out all the set bits in mask before we start searching it. But if we zero it, we should return failure immediately. Fix that, and see whether that fixes everything else.

Tue, Nov 20, 8:58 PM
dougm_rice.edu updated the diff for D18040: Check if some block can be safely freed.

Update patch with compile error fix.

Tue, Nov 20, 6:47 PM
dougm_rice.edu updated the diff for D18040: Check if some block can be safely freed.

Since assertions intended to be triggered by problems in leaf node allocation where not triggered, add an assertion that look for anomalies in meta node allocation.

Tue, Nov 20, 5:11 PM
dougm_rice.edu updated the diff for D18040: Check if some block can be safely freed.

The previous test strongly suggests a problem in blist_alloc, in a case where the first blocks of a meta-node are allocated. I've added some assertions, which I don't expect to fail, but if they do I'll learn something.

Tue, Nov 20, 10:13 AM
dougm_rice.edu updated the diff for D18040: Check if some block can be safely freed.

Add more checks on avail count, so that we can determine whether the avail count for the blist is invalidated by a call to a blist operator, or between calls.

Tue, Nov 20, 3:29 AM

Mon, Nov 19

dougm_rice.edu updated the diff for D18040: Check if some block can be safely freed.

Add KASSERTs to validate often that the stored value of number of free blocks matches a computed value of number of free blocks.

Mon, Nov 19, 8:43 AM

Sun, Nov 18

dougm_rice.edu updated the diff for D18040: Check if some block can be safely freed.

Don't update bighint on blist_test_free.

Sun, Nov 18, 11:29 PM
dougm_rice.edu updated the summary of D18040: Check if some block can be safely freed.
Sun, Nov 18, 9:59 PM
dougm_rice.edu updated the diff for D18040: Check if some block can be safely freed.

make assertion kernel-compatible.

Sun, Nov 18, 9:55 PM
dougm_rice.edu created D18040: Check if some block can be safely freed.
Sun, Nov 18, 8:52 PM
dougm_rice.edu updated the diff for D18000: Track stats on effectivess of bm_bighint field.

Dump the stats on the 's' stats option, not the 'p' print option, since printing a tree is often many many lines and the stats are lost.

Sun, Nov 18, 7:31 PM

Nov 18 2018

dougm_rice.edu updated the diff for D18027: Pre-load a blist before interactive testing.

Don't use 'size' for too many different purposes.

Nov 18 2018, 4:52 AM
dougm_rice.edu reopened D17635: Avoid duplicate set_max_free after unlink.
Nov 18 2018, 4:21 AM
dougm_rice.edu updated the diff for D17635: Avoid duplicate set_max_free after unlink.

Restore what remains of this patch.

Nov 18 2018, 4:19 AM
dougm_rice.edu updated the diff for D18027: Pre-load a blist before interactive testing.

If blist_alloc fails in startup, fill everything and free everything to start over.

Nov 18 2018, 1:19 AM

Nov 17 2018

dougm_rice.edu created D18027: Pre-load a blist before interactive testing.
Nov 17 2018, 10:37 PM
dougm_rice.edu updated the diff for D17970: Just put the map header in the vm_map tree.

With a simpler patch that's more reviewer-friendly, and fails mysteriously, and a more complex patch that is reviewer-hostile, but seems to pass tests, and no understanding of why the two behave differently, nudge the broken one towards more complexity, just to see what happens. It's complexity I wanted to introduce eventually, anyway, but maybe it will help now???

Nov 17 2018, 8:56 AM
dougm_rice.edu updated the diff for D17635: Avoid duplicate set_max_free after unlink.

Restore a KASSERT, with both arguments included. #define a name for the set of flags that prevent merging.

Nov 17 2018, 3:16 AM

Nov 16 2018

dougm_rice.edu updated the diff for D17635: Avoid duplicate set_max_free after unlink.

Add optimizing parens. Drop invalid KASSERT.

Nov 16 2018, 7:02 PM
dougm_rice.edu updated the diff for D17980: simplify next_leaf.

Update comment style.

Nov 16 2018, 6:48 PM
dougm_rice.edu updated the diff for D17970: Just put the map header in the vm_map tree.

Fix embarrassing type error.

Nov 16 2018, 8:58 AM
dougm_rice.edu updated the diff for D17970: Just put the map header in the vm_map tree.

Initialize a value to avoid a compiler failure.

Nov 16 2018, 7:24 AM
dougm_rice.edu created D18000: Track stats on effectivess of bm_bighint field.
Nov 16 2018, 5:14 AM
dougm_rice.edu added a reviewer for D17999: Avoid testing bighint in blist_alloc: alc.
Nov 16 2018, 4:30 AM
dougm_rice.edu created D17999: Avoid testing bighint in blist_alloc.
Nov 16 2018, 4:30 AM

Nov 15 2018

dougm_rice.edu updated the diff for D17970: Just put the map header in the vm_map tree.

Copy over from the bigger sentinel patch a bounds check in lookup that I didn't think I needed, but maybe I do after all. Add a local lbound variable to lookup to avoid multiple writes via the pointer parameter.

Nov 15 2018, 9:56 PM
dougm_rice.edu updated the diff for D17970: Just put the map header in the vm_map tree.

After recovering a root from the left tree in splay, null the right child of the new root so it doesn't point to the right tree.

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

Updating to adapt changes to surrounding code. Hoping that this code still works.

Nov 15 2018, 6:30 PM
dougm_rice.edu updated the diff for D17970: Just put the map header in the vm_map tree.

Restore one &map->header test that perhaps should not have been dropped. Drop one that was dropped in the working, bigger sentinel patch. Update comments.

Nov 15 2018, 4:41 PM
dougm_rice.edu updated the diff for D17970: Just put the map header in the vm_map tree.

But don't forget to splay in findspace.

Nov 15 2018, 9:47 AM
dougm_rice.edu updated the diff for D17970: Just put the map header in the vm_map tree.

Drop a test from findspace that is no longer needed.

Nov 15 2018, 9:45 AM
dougm_rice.edu updated the diff for D17970: Just put the map header in the vm_map tree.

Don't discard non-NULL root after splay search.

Nov 15 2018, 7:02 AM
dougm_rice.edu updated the diff for D17970: Just put the map header in the vm_map tree.

Drop a redundant 'root' declaration.

Nov 15 2018, 6:22 AM
dougm_rice.edu updated the diff for D17970: Just put the map header in the vm_map tree.

Again, stop pasting in the parts that depend on having a 'map' parameter.

Nov 15 2018, 6:13 AM
dougm_rice.edu updated the diff for D17970: Just put the map header in the vm_map tree.

Paste the splay-disassembly code from the other sentinel patch.

Nov 15 2018, 6:06 AM
dougm_rice.edu updated the diff for D17970: Just put the map header in the vm_map tree.

Drop the KASSERTS that led compilation to fail. Update the lookup tree search to compare end before start, to avoid stepping left from the sentinel node.

Nov 15 2018, 5:49 AM

Nov 13 2018

dougm_rice.edu updated the diff for D17794: Eliminate adj_free field from vm_map_entry.

In _link and _unlink, splay on next and previous map entries to ensure that max_free fields for neighbors are updated.

Nov 13 2018, 10:52 PM
dougm_rice.edu created D17980: simplify next_leaf.
Nov 13 2018, 7:17 PM
dougm_rice.edu created D17970: Just put the map header in the vm_map tree.
Nov 13 2018, 7:43 AM
dougm_rice.edu removed reviewers for D13999: add map header sentinel to vm_map search tree: kib, markj.
Nov 13 2018, 7:31 AM
dougm_rice.edu removed reviewers for D17794: Eliminate adj_free field from vm_map_entry: kib, markj.
Nov 13 2018, 6:16 AM

Nov 12 2018

dougm_rice.edu updated the diff for D17794: Eliminate adj_free field from vm_map_entry.

In vm_map_entry_unlink, update the next and prev pointers first, before invoking vm_set_max_free, so that the correct values for the new gap size is computed.

Nov 12 2018, 5:11 PM

Nov 10 2018

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

Address reviewer comments on spacing and ummin usage.

Nov 10 2018, 7:16 PM
dougm_rice.edu updated the diff for D12635: Allow allocations across meta boundaries.

Add a missing "that" to a comment.

Nov 10 2018, 6:31 PM
dougm_rice.edu updated the diff for D12635: Allow allocations across meta boundaries.

Prompted by reviewer comments, endeavor to clarify comments regarding data structure layout.

Nov 10 2018, 6:29 PM

Nov 7 2018

dougm_rice.edu updated the summary of D17794: Eliminate adj_free field from vm_map_entry.
Nov 7 2018, 4:10 AM
dougm_rice.edu updated the diff for D17794: Eliminate adj_free field from vm_map_entry.

Drop an unneeded variable.

Nov 7 2018, 4:09 AM

Nov 5 2018

dougm_rice.edu updated the diff for D17840: Add functions to time vm_map actions.

Add timing to vm_map_entry_resize_free.

Nov 5 2018, 6:22 PM
dougm_rice.edu updated the diff for D17840: Add functions to time vm_map actions.

Delete spurious line.

Nov 5 2018, 5:51 AM
dougm_rice.edu created D17840: Add functions to time vm_map actions.
Nov 5 2018, 4:12 AM

Nov 2 2018

dougm_rice.edu updated the diff for D17635: Avoid duplicate set_max_free after unlink.

Update after patch affected surrounding code.

Nov 2 2018, 4:38 PM

Nov 1 2018

dougm_rice.edu added a comment to D14005: initializing map->header.eflags allows skipping some &map->header tests.
In D14005#379693, @pho wrote:

Running tests.

Nov 1 2018, 10:45 PM
dougm_rice.edu created D17794: Eliminate adj_free field from vm_map_entry.
Nov 1 2018, 3:04 AM

Oct 31 2018

dougm_rice.edu abandoned D17622: Use adj_free field in vm_map_entry_t instead of computing e->next->start - e->end.

I can change the definition of max_free a bit and git rid of adj_free entirely, so I'll abandon this patch, and do that one instead, someday.

Oct 31 2018, 10:38 PM