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

Re: [PATCH] read-cache: make the index write buffer size 128K

From
NSNeeraj Singh <nksingh85@gmail.com>
Date
Feb 25, 2021, 07:36 UTC
Message-ID
<CANQDOdd+keN3LyC4CHWDZ3JHYurEy_FLyw5GT5UKqg0RcTA+DA@mail.gmail.com>
In-Reply-To
<xmqqeeh4wrad.fsf@gitster.g>
On Wed, Feb 24, 2021 at 11:16 PM Junio C Hamano <gitster@pobox.com> wrote:
Show 18 quoted lines
>
> Chris Torek <chris.torek@gmail.com> writes:
>
> > Linux/BSD/etc `stat` system calls report st_blksize values to tell
> > user code the optimal size for read and write calls.  Does Windows
> > have one?  (It's not POSIX but is XSI.)
> >
> > (How *well* the OS reports `st_blksize` is another question
> > entirely, but at least if the report says, say, 128k, and that's
> > wrong, that's no longer Git's fault. :-) )
> > ...
> > 128K is correct for ZFS; 64K is typically correct for UFS2; 8K is
> > the old UFS1 size.  Anything under that has been too small for
> > a long time. :-)
>
> That's rather tempting.  After opening a locked index to write
> things out, the value is a single fstat() away...
>

From a quick perusal of freebsd, st_blksize seems to be the system PAGE_SIZE by default (4k most of the time, I assume). The Windows equivalent of this value is really tuned to what you want to send down when bypassing the cache (to avoid partial cluster/stripe writes).

https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/sys_stat.h.html doesn't elicit much confidence. The units of st_blksize aren't even defined.

Thanks, Neeraj

Previous: Junio C HamanoNext: Chris Torek
Message 10 of 11 in “read-cache: make the index write buffer size 128K”
  1. read-cache: make the index write buffer size 128KNeeraj K. Singh via GitGitGadget, Feb 18, 2021
  2. Jeff HostetlerFeb 19, 2021
  3. Junio C HamanoFeb 20, 2021
  4. Neeraj SinghFeb 20, 2021
  5. Junio C HamanoFeb 21, 2021
  6. Neeraj SinghFeb 24, 2021
  7. Junio C HamanoFeb 25, 2021
  8. Chris TorekFeb 25, 2021
  9. Junio C HamanoFeb 25, 2021
  10. Neeraj SinghFeb 25, 2021
  11. Chris TorekFeb 25, 2021

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.