Thread (6 messages) flat view 6 messages, 4 authors, 2016-06-15

Re: [PATCH 1/3] builtin-pack-objects: don't fail, if delta is not possible

From: Shawn O. Pearce <hidden>
Date: 2016-06-15 22:43:13

Nicolas Pitre [off-list ref] wrote:
On Mon, 28 May 2007, Martin Koegler wrote:
quoted
If builtin-pack-objects runs out of memory while finding
the best deltas, it bails out with an error.

If the delta index creation fails (because there is not enough memory),
we can downgrade the error message to a warning and continue with the
next object.
In the same vain, there is one realloc() that was turned into a 
xrealloc() in diff-delta.c.  I think this was a mistake and should 
probably be a non fatal realloc again to let the caller go on.
And if those two calls fail to alloc their memory, they might want
to try calling the pack window gc thingy (release_pack_memory(need,
-1)) and then retry the alloc before they fail the delta generation.
Its possible that we are better off releasing the LRU pack window
and produce the delta, then to fail because we're hanging onto some
mmap we don't need...

And actaully release_pack_memory could get more aggressive now that
the index_data can be lazily loaded.  We could actually unload LRU
indexes too.

-- 
Shawn.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help