Re: headsup: swap_pager.c

From: Robert Watson (rwatson_at_freebsd.org)
Date: 08/02/03

  • Next message: David Taylor: "Re: headsup: swap_pager.c"
    Date: Sat, 2 Aug 2003 10:56:33 -0400 (EDT)
    To: Poul-Henning Kamp <phk@phk.freebsd.dk>
    
    

    On Sat, 2 Aug 2003, Poul-Henning Kamp wrote:

    > In message <20030802100150.H39348-100000@hewey.af.speednet.com.au>, Andy Farkas
    > writes:
    >
    > >I wasn't going to say anything (you can delete now) but the more I think
    > >about it, the more I think "if it aint broke, dont fix it".
    >
    > It is broken, it contains a bogo-vnode and it wastes RAM (it may be
    > cheap but you shouldn't use 4 times the necessary RAM).

    For me, the biggest benefit of this change is the removal of the
    bogo-vnode; I'd just like to make sure we don't see an observable
    performance hit in interesting cases.

    To clarify the notion of bogo-vnodes, for those less familiar with it,
    there are a few vnodes that are randomly pulled out of hats for some
    arbitrary things. They break some of the normal working assumptions of
    vnodes -- for example, almost every vnode in the system has a non-NULL
    v_mount pointer, and is associated with a mountpoint. The vnodes I know
    of that don't meet this property are the swap striping vnode, and the
    vnodes "pulled out of a hat" to refer to devices when you don't yet have
    access to the device file system. This occurs in bdevvp(), which converts
    a dev_t into a dummy vnode pointing at the device. Under normal
    circumstances, non-dead vnodes always have a file system they are
    associated with.

    Robert N M Watson FreeBSD Core Team, TrustedBSD Projects
    robert@fledge.watson.org Network Associates Laboratories

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


  • Next message: David Taylor: "Re: headsup: swap_pager.c"