git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH] pack-bitmaps: plug memory leak, fix allocation size for recent_bitmaps

From
Junio C Hamano <gitster@pobox.com>
Date
May 19, 2015, 19:45 UTC
Message-ID
<xmqqoalg73md.fsf@gitster.dls.corp.google.com>
In-Reply-To
<20150519022321.GA29026@peff.net>
Jeff King <peff@peff.net> writes:
Show 23 quoted lines
> On Tue, May 19, 2015 at 01:24:09AM +0200, René Scharfe wrote:
>
>> Use an automatic variable for recent_bitmaps, an array of pointers.
>> This way we don't allocate too much and don't have to free the memory
>> at the end.  The old code over-allocated because it reserved enough
>> memory to store all of the structs it is only pointing to and never
>> freed it.  160 64-bit pointers take up 1280 bytes, which is not too
>> much to be placed on the stack.
>> 
>> MAX_XOR_OFFSET is turned into a preprocessor constant to make it
>> constant enough for use in an non-variable array declaration.
>> 
>> Noticed-by: Stefan Beller <stefanbeller@gmail.com>
>> Suggested-by: Jeff King <peff@peff.net>
>> Signed-off-by: Rene Scharfe <l.s.r@web.de>
>> ---
>> This seems to have fallen through the cracks, or did I just miss it?
>
> Thanks, this looks good.
>
> I looked over the function one more time to make sure it is the function
> that is wrong, and not my suggestion. :) The current code seems pretty
> obviously wrong.

I actually cannot guess what the current code is trying to do. Was it an attempt to cache that many entries, but instead allocated and discarded the space it tried to use as a cache every time?

Previous: Jeff KingNext: Jeff King
Message 5 of 6 in “pack-bitmaps: plug memory leak, fix allocation size for recent_bitmaps”
  1. pack-bitmaps: plug memory leak, fix allocation size for recent_bitmapsRené Scharfe, May 18, 2015
  2. Stefan BellerMay 19, 2015
  3. René ScharfeMay 19, 2015
  4. Jeff KingMay 19, 2015
  5. Junio C HamanoMay 19, 2015
  6. Jeff KingMay 19, 2015

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.