cvs commit: src/sys/geom/raid3 g_raid3.c

Scott Long scottl at
Thu Mar 9 12:56:07 PST 2006

Ruslan Ermilov wrote:
> On Thu, Mar 09, 2006 at 01:57:21PM -0500, Brian Fundakowski Feldman wrote:
>>On Tue, Mar 07, 2006 at 02:32:00PM +0100, Pawel Jakub Dawidek wrote:
>>>On Mon, Mar 06, 2006 at 07:39:11PM -0500, Brian Fundakowski Feldman wrote:
>>>+> On Wed, Feb 22, 2006 at 10:21:05AM +0000, Pawel Jakub Dawidek wrote:
>>>+> > pjd         2006-02-22 10:21:05 UTC
>>>+> > 
>>>+> >   FreeBSD src repository
>>>+> > 
>>>+> >   Modified files:
>>>+> >     sys/geom/raid3       g_raid3.c 
>>>+> >   Log:
>>>+> >   Do not use bio structure after g_io_deliver(), it may not longer by valid.
>>>+> >   
>>>+> >   Found and fixed by:     Vsevolod Lobko <seva at>
>>>+> >   MFC after:              3 days
>>>+> I actually found and fixed it half a year ago... could you please
>>>+> integrate the rest of the fixes from my changes back then?  A
>>>+> short-term low-memory deadlock is still possible (observed in
>>>+> practice).  I think the changes also improve readability -- see
>>>+> for example the reason r1.46 existed.
>>>Heh. I own you apology. I haven't had time to work on graid3 back then
>>>and I also overlooked fix of this very problem.
>>>I integrated you fixes to my last patch which I'm planning to commit
>>>after receiving some feedback:
>>Everything seems good to go, running -CURRENT's graid3 + these changes
>>on 6-STABLE; are there particular areas where you think I should try
>>testing for improved performance?
> I was fighting a problem today when our geom_cache attempts to fill
> 256K of bio_data coming from graid3, and this obviously fails because
> graid3 only allocates memory for first 64k from its 64k UMA zone.
> This patch doesn't fix this problem.  I have MAXPHYS bumped to 512K,
> which is important to reproduce the problem.  Can you please fix this?
> Temporarily, I've added 128/256/512 zones to satisfy my needs.
> Cheers,

MAXPHYS was never meant to go above 128K.  You'll run a very real risk 
of exhausting KVA under load.  And, all block drivers for the past 10 
years have been written with the assumption that MAXPHYS will never be
above 128K.  In other words, don't shoot yourself in the foot and then
cry that it hurts =-)


More information about the cvs-src mailing list