On Fri, 11 Oct 2013, Duy Nguyen wrote: > On Fri, Oct 11, 2013 at 07:22:59PM +0700, Duy Nguyen wrote: > > > > Maybe we could make an exception and allow the tree walker to pass > > > > pv4_tree_cache* directly to decode_entries so it does not need to do > > > > the first lookup every time.. > > > > > > > > Suggestions? > > Looking at decode_entries() traces I think the "one decode_entries() > for one tree_entry()" just amplifies the delta chain effect. If you > hide 3 entries behind 5 layers of copy sequences > (i.e. tree1->tree2->..->tree5->real-tree-entry), then every > decode_entries(count=1) will have to go through 5 layers. Calling decode_entries() for every tree entry is a bad approach. We should really implement this as a state machine preserving the entire state between entries so that moving to the next entry is just a matter of advancing a pointer in most cases. Nicolas -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html