This is an old revision of the document!


Buf cache renovation project

As decided by the junta at BSDcan2008

Stuckee: jeffr

  • Move the regular file data out of the buffercache, let VM system manage it.

(jeffr: add details)

Stuckee: ? (phk ?)

  • Park a kthread when mounting
  • can hold onto mount cred
  • can do NFS reconnect
  • Responsible for policy of synching for this filesystem instance
  • Makes it possible to avoid the “sync entire filesystem” for fs that do not need it.
  • Generally only responsible for synching metadata (VM above does data)

Technically, the thread is associated with the bufobj but in practice that is the mountpoint (Relevant for gibbs@'s case)

Stuckee: phk, jhb

Strawman for structure:

struct bioseg {
        vmpage_t    page;
        unsigned    offset;
        size_t      length;
};

struct biosg {
        struct biosg *seg;
        unsigned      nseg;
};

struct bio {
        struct        biosg;
        struct bioseg seg0[NBIOSEG];
};

Stuckee: jeffr

  • f_offset serialization
  • parallel reads, possibly with one or more writers.

(jeffr: Add details)

  • buf0x.1210881644.txt.gz
  • Last modified: 2008/05/15 20:00
  • by PoulHenningKamp