Michael: maybe we could consider two different flags (one for internal pages, the other for skip lists)? Maybe also consider moving these flags into WT_CURSOR_BTREE so that each cursor is optimised for its own pattern of accesses, rather than trying to guess across a whole tree.
Keith: A change we could make to better support inserting new records anywhere in the tree would be a new, per-page flag, which would be set if the last insert on the page was at the end of an insert list. If set for a page, we'd check for an append to the insert list before the normal skiplist search. This doesn't avoid the binary search of the page, but it does avoid the skiplist search on each insert list when appending a bunch of records in-between two existing records.
Michael: As far as a per-page append flag, that doesn't seem all that interesting to me – maybe btree->appending should be set any time we append to any skip list, and not cleared by internal page searches? Either we're inserting a bunch of records in order somewhere in the tree, or we aren't – I can't imagine a real workload that would be inserting a bunch of records into the middle of a tree while also doing random writes in other places.