Re: how to flush out cache.?

From: Matthew Dillon (dillon_at_apollo.backplane.com)
Date: 04/22/04

  • Next message: Julian Elischer: "Re: how to flush out cache.?"
    Date: Wed, 21 Apr 2004 18:02:21 -0700 (PDT)
    To: Julian Elischer <julian@elischer.org>
    
    

    :
    :>
    :> mmap() and msync(..MS_INVALIDATE..) should work.
    :
    :hmmm that is rather interesting..
    :I wonder if it would work....
    :Maybe a vm guru could confirm this.. (under 4.x)
    :

        Huh. If I hadn't looked at the code I would have said that
        MS_INVALIDATE doesn't work in FreeBSD, but when I look at the code
        it sure looks like it ought to work!

        But, alas, it does not. The invalidation request goes all the way
        through to the vnode pager but it looks like the vnode pager ignores
        it.

        MS_INVALIDATE -> OBJPC_INVAL -> VM_PAGER_PUT_INVAL -> IO_INVAL -> (ignored)

        IO_INVAL is defined to be 'invalidate after I/O completes',
        not 'throw away the dirty data', but the only place it appears to be
        implemented is in the NFS code.

                                                    -Matt

    _______________________________________________
    freebsd-hackers@freebsd.org mailing list
    http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
    To unsubscribe, send any mail to "freebsd-hackers-unsubscribe@freebsd.org"


  • Next message: Julian Elischer: "Re: how to flush out cache.?"