in my systems i've had buildworld failures with recent git. i didn't even know 
it does bg maint

and one other thing was that if i let git loose

and don't do

[core]
        packedGitWindowSize = 1m
        packedGitLimit = 1m
        preloadIndex = false
[diff]
        renameLimit = 1

it'll tell kernel to eat up my ram and cause userland to die during some 
particular unknown git operation

this is also on zfs and i'm not alone here, while ufs doesn't do this (in other 
people's machines)

i don't know where to point finger (mmap? slow io?) or how to test it in vm. or 
with what command. i noticed that lot of changes via pull in ports caused this 
100% a time

seems like this needs several factors for perfect storm. note that git is only 
thing that can do this. or perhaps dovecot too, i configured that thing to not 
do mmap and / or cache

to this day i don't have proper solution to this

seems like slow io has part here

i could simulate that with geom (gnop maybe?) into a vm but i can't figure out 
how to have the proper stress test set for this. i tried several (memory) 
stress methods but they never do this

unsure what this really is. is it a feature or bug or how to limit it

i find it totally unacceptable that zfs is able to take any commands from 
userland that cause kernel to take over 95% of ram in few seconds. it should 
start waiting far before

this is not arc too. something in the kernel is allocating all of my ram from 
git fs operations and that sucks

maybe this thing is missing from zfs test suite? or maybe noone ran that thing 
on less than ideal machines?

funnily i'm able to do anything else on this c2d & 4g machine. just needs time, 
nothing fails

i have no idea how to solve this mystery. zfs has many tuning options, are some 
of them related to writes too? i haven't used any of them

funnily those options don't seem to slow git down, if you could say it's fast 
before

so any ideas?

before people tried to test this by lowering ram in vm, but if they had those 
on fast ssd's, it would never manifest

unless i'm mistaken here, this is slow io issue?

but how could system accept more that it can do?

i don't know how zfs works but can't it like put io operations into pause if it 
looks like disks are not keeping up?

just like cpu or ram limits are respected and nothing really goes "over the 
edge"

i expect this to bite users in future. especially corner case hw. this could be 
purposefully low end hw too

i could come back with a test case but i don't really have place where i can 
run things repeatedly into failure

Reply via email to