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

Re: Seeing high CPU usage during git-upload-pack

From
Nguyen Thai Ngoc Duy <pclouds@gmail.com>
Date
May 9, 2012, 15:11 UTC
Message-ID
<CACsJy8CbaM6UNCT3ZP0=VZE9GhH2eJpgKe-dnGU5ubn_4gS=Pw@mail.gmail.com>
In-Reply-To
<CAPeUw3HCkKKBP6RnZzR0TYOO0hHtJ4_ma-Je4a-xKhPpNPJhHw@mail.gmail.com>
Hi,

I don't see anything private in the mail, so I CC git@vger again. It's a good thing to keep git@vger in the loop because there will be more (experienced) people to help you out.

On Wed, May 9, 2012 at 9:37 PM, David Ebbo <david.ebbo@gmail.com> wrote:
Show 8 quoted lines
> Thanks Duy for your looking at this.
>
> On Wed, May 9, 2012 at 3:37 AM, Nguyen Thai Ngoc Duy <pclouds@gmail.com> wrote:
>>
>> What OS is it run on? What git version?
>>
>
> This is using 1.7.9 on Windows (msysgit).

Ah... msysgit reimplements poll() function, in compat/win32/poll.c. If it goes rouge, you could get an active loop. But this is just my suspicion. I don't know anything about msysgit's poll implementation so I can be completely wrong here.

Show 13 quoted lines
>> How about stopping upload-pack and see where it stops? There's a main
>> loop in upload-pack.c, create_pack_file() that is only active when
>> data comes. I looked but failed to see how it becomes a busywait loop.
>> Maybe you can put some debugging there.
>>
>> Setting env var GIT_TRACE_PACKET and GIT_DEBUG_SEND_PACK before
>> running upload-pack might also help.
>>
>
> I'll try those env vars, and will debug as needed (I haven't done that
> yet, so I'll need to get set up <g>)
>
> Thanks for the pointers!
-- 
Duy
Previous: Nguyen Thai Ngoc DuyNext: David Ebbo
Message 3 of 4 in “Seeing high CPU usage during git-upload-pack”
  1. David EbboMay 9, 2012
  2. Nguyen Thai Ngoc DuyMay 9, 2012
  3. Nguyen Thai Ngoc DuyMay 9, 2012
  4. David EbboMay 10, 2012

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.