:>     it will crunch) at the moment.
:> 
:>                                      -Matt
:
:Is there anything I can do? 
:
:Cheers,
:-Peter

    (CC'ing to current)

    Kirk committed the fix -- The sense of a KASSERT() had gotten reversed
    accidently.

    Everything is hunky dory - except for the fact that I'm not able to 
    commit any of these things myself.  The patches remaining in the current
    VFS/BIO set are relatively minor, which means I can shift my attention 
    over to the VM/INN/MMAP problems.  

    The INN problem is a stickier issue and the solution may wind up making
    -current slightly less efficient in the near term.  Basically what we
    have to do is to map writeable pages read-only and then take a fault
    to detect the clean->dirty transition.  We can then synchronously block
    in vm_fault (without holding any locks, I might add) when there are too 
    many dirty pages in the system.  The pageout daemon will be able to
    run earlier (before it becomes too late).

    Also, on the positive side, by accounting dirty pages earlier we can
    manage low-memory situations all that more easily, which means that we 
    can shift the clustering code from the beginning (when queued) to the
    end (when I/O is physically initiated).  This will have the side effect
    of removing a whole cartload of junk from the filesystem critical path
    as well as remove a bunch of fields from the vnode structure.  It will
    also greatly reduce the amount of memory-related blocking that occurs deep
    within a call-stack which should help performance on loaded machines
    by reducing lock contention.

    So if people don't scream at me for the slightly less efficient page
    faulting I think we can make progress.

    Actually, I don't think the page faulting will be as bad as all that...
    the loss of efficiency occurs mostly in shared R+W mmaps, not so much
    with BSS extensions because those tend to take a fault anyway because
    they start out as zero-fill.

                                        -Matt
                                        Matthew Dillon 
                                        <[EMAIL PROTECTED]>


To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message

Reply via email to