Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

status: disable and free fscache at the end of the status command #1909

Merged
merged 1 commit into from
Nov 5, 2018
Merged

status: disable and free fscache at the end of the status command #1909

merged 1 commit into from
Nov 5, 2018

Conversation

benpeart
Copy link

@benpeart benpeart commented Nov 1, 2018

At the end of the status command, disable and free the fscache so that we don't leak the memory and so that we can dump the fscache statistics.

Signed-off-by: Ben Peart [email protected]

At the end of the status command, disable and free the fscache so that we
don't leak the memory and so that we can dump the fscache statistics.

Signed-off-by: Ben Peart <[email protected]>
@dscho dscho merged commit af8558d into git-for-windows:master Nov 5, 2018
@dscho
Copy link
Member

dscho commented Nov 5, 2018

Thank you!

This change makes me wonder whether we need the same type of change elsewhere... Have you checked already, @benpeart?

@dscho dscho added this to the v2.19.1(2) milestone Nov 5, 2018
@benpeart
Copy link
Author

benpeart commented Nov 5, 2018

add and commit also enable but don't disable the fscache. I can submit a PR for those as well.

One downside of actually disabling the fscache is that it takes time to free the fscache (especially with larger repos) so this will actually slow down commands. It would be nice to reduce that overhead somehow.

I considered switching to the mem_pool() used by the index as it is a fast allocator and reduces the free() overhead to the set of blocks backing the pool (often just one if you predict the final size well) vs one per file and directory. The challenge is that it isn't thread safe so some additional locking added around it (or a mem_pool per thread) would need to be added. That also induces some overhead which would need to be measured to ensure we are choosing the path with the least overhead.

dscho added a commit to dscho/git that referenced this pull request Nov 19, 2018
…ter-status-gfw

status: disable and free fscache at the end of the status command
dscho added a commit to dscho/git that referenced this pull request Nov 20, 2018
…ter-status-gfw

status: disable and free fscache at the end of the status command
dscho added a commit that referenced this pull request Nov 21, 2018
status: disable and free fscache at the end of the status command
dscho added a commit to dscho/git that referenced this pull request Nov 23, 2018
…ter-status-gfw

status: disable and free fscache at the end of the status command
dscho added a commit to dscho/git that referenced this pull request Nov 30, 2018
…ter-status-gfw

status: disable and free fscache at the end of the status command
dscho added a commit to dscho/git that referenced this pull request Dec 1, 2018
…ter-status-gfw

status: disable and free fscache at the end of the status command
dscho added a commit to dscho/git that referenced this pull request Dec 9, 2018
…ter-status-gfw

status: disable and free fscache at the end of the status command
dscho added a commit to dscho/git that referenced this pull request Dec 15, 2018
…ter-status-gfw

status: disable and free fscache at the end of the status command
dscho added a commit to dscho/git that referenced this pull request Feb 7, 2019
…ter-status-gfw

status: disable and free fscache at the end of the status command
dscho added a commit to dscho/git that referenced this pull request Feb 7, 2019
…ter-status-gfw

status: disable and free fscache at the end of the status command
git-for-windows-ci pushed a commit that referenced this pull request Sep 11, 2024
status: disable and free fscache at the end of the status command
git-for-windows-ci pushed a commit that referenced this pull request Sep 11, 2024
status: disable and free fscache at the end of the status command
git-for-windows-ci pushed a commit that referenced this pull request Sep 11, 2024
status: disable and free fscache at the end of the status command
git-for-windows-ci pushed a commit that referenced this pull request Sep 11, 2024
status: disable and free fscache at the end of the status command
git-for-windows-ci pushed a commit that referenced this pull request Sep 11, 2024
status: disable and free fscache at the end of the status command
git-for-windows-ci pushed a commit that referenced this pull request Sep 12, 2024
status: disable and free fscache at the end of the status command
git-for-windows-ci pushed a commit that referenced this pull request Sep 12, 2024
status: disable and free fscache at the end of the status command
git-for-windows-ci pushed a commit that referenced this pull request Sep 12, 2024
status: disable and free fscache at the end of the status command
git-for-windows-ci pushed a commit that referenced this pull request Sep 12, 2024
status: disable and free fscache at the end of the status command
git-for-windows-ci pushed a commit that referenced this pull request Sep 13, 2024
status: disable and free fscache at the end of the status command
git-for-windows-ci pushed a commit that referenced this pull request Sep 14, 2024
status: disable and free fscache at the end of the status command
git-for-windows-ci pushed a commit that referenced this pull request Sep 16, 2024
status: disable and free fscache at the end of the status command
dscho added a commit that referenced this pull request Sep 16, 2024
status: disable and free fscache at the end of the status command
dscho added a commit that referenced this pull request Sep 16, 2024
status: disable and free fscache at the end of the status command
dscho added a commit that referenced this pull request Sep 16, 2024
status: disable and free fscache at the end of the status command
git-for-windows-ci pushed a commit that referenced this pull request Sep 16, 2024
status: disable and free fscache at the end of the status command
git-for-windows-ci pushed a commit that referenced this pull request Sep 16, 2024
status: disable and free fscache at the end of the status command
git-for-windows-ci pushed a commit that referenced this pull request Sep 17, 2024
status: disable and free fscache at the end of the status command
git-for-windows-ci pushed a commit that referenced this pull request Sep 17, 2024
status: disable and free fscache at the end of the status command
git-for-windows-ci pushed a commit that referenced this pull request Sep 17, 2024
status: disable and free fscache at the end of the status command
dscho added a commit that referenced this pull request Sep 17, 2024
status: disable and free fscache at the end of the status command
dscho added a commit to dscho/git that referenced this pull request Sep 18, 2024
…ter-status-gfw

status: disable and free fscache at the end of the status command
git-for-windows-ci pushed a commit that referenced this pull request Sep 18, 2024
status: disable and free fscache at the end of the status command
dscho added a commit that referenced this pull request Sep 20, 2024
status: disable and free fscache at the end of the status command
dscho added a commit that referenced this pull request Sep 20, 2024
status: disable and free fscache at the end of the status command
dscho added a commit that referenced this pull request Sep 20, 2024
status: disable and free fscache at the end of the status command
dscho added a commit that referenced this pull request Sep 20, 2024
status: disable and free fscache at the end of the status command
dscho added a commit that referenced this pull request Sep 20, 2024
status: disable and free fscache at the end of the status command
dscho added a commit that referenced this pull request Sep 20, 2024
status: disable and free fscache at the end of the status command
dscho added a commit that referenced this pull request Sep 20, 2024
status: disable and free fscache at the end of the status command
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants