My favorites | Sign in
Project Home Downloads Wiki Issues Source
New issue   Search
for
  Advanced search   Search tips   Subscriptions
Issue 230: pkt-line stuff isn't buffered in sshd
  Back to list
Status:  CannotReproduce
Owner:  code-rev...@gtempaccount.com
Closed:  Sep 2009


Sign in to add a comment
 
Reported by code-rev...@gtempaccount.com, Sep 24, 2009
Reported by Shawn Pearce <sop@google.com> on Fri Jun 19 17:40:40 PDT 2009
Source: JIRA GERRIT-231

JGit's UploadPack and ReceivePack code does small writes when sending stuff by
pkt-line.  Basically we do two writes, one for the header length, and one for
the payload.  These turn into two buffers in MINA SSHD, tripping two
interrupts against the IO processor thread, which it then spools out in two
write syscalls.  This means we are doing 2 write syscalls for every advertised
ref in the initial connection advertisement.  Its really not efficient use of
the server processor.  We're better off buffering everything through that
phase and then flushing it all at the end mark.
Sep 24, 2009
#1 code-rev...@gtempaccount.com
Comment by Shawn Pearce <sop@google.com> on Fri Jun 19 19:36:10 PDT 2009

Actually, I was wrong, MINA SSHD's ChannelOutputStream implements buffering on
writes for us, only shifting the buffer to the IO processor when its either
full, or an explicit flush was requested.
Sep 24, 2009
#2 code-rev...@gtempaccount.com
Update by Shawn Pearce <sop@google.com> on Fri Jun 19 19:36:10 PDT 2009
Status: CannotReproduce
Sign in to add a comment

Powered by Google Project Hosting