Nicolas Pitre <nico@xxxxxxx> wrote: > On Mon, 28 May 2007, Martin Koegler wrote: > > > 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. - 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