Subject: Re: genfs_putpages with PGO_SYNCIO
To: None <enami@sm.sony.co.jp>
From: YAMAMOTO Takashi <yamt@mwd.biglobe.ne.jp>
List: tech-kern
Date: 01/22/2003 00:03:37
> Yes.  IMHO, they (new one vs. struct buf and bio* routine) describe
> different thing (the former is just related to GOP_PUTPAGES and
> GOP_WRITE).  E.g., if one might want to limit the number of async
> write issued at a time, the code will wait in the middle of loop in
> _putpages routine.  For this, not using struct buf will be cleaner.

i thought 'new one' and (parts of )struct buf describe similar thing.
(a kind of condition variable wrt i/o completion)
but i'm ok to distinguish them.
and i agree it's better to keep 'new one' inside of genfs.

> > > if (async) {...} just above this change isn't necessary anymore.
> > 
> > sure. i preserved it just for UVMHIST_LOG.
> 
> Since code path is same now, the logged `flags' value is enough.

not exactly same.  return value is different when VOP_BMAP fails.
i don't know if it's important to continue processing async putpages
even when VOP_BMAP fails, though.

> BTW, is this change results noticable effect?

no human noticable effects, i think. :-)

YAMAMOTO Takashi