Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 20 Aug 2007 09:20:06 -0400
From:      Howard Goldstein <hg@queue.to>
To:        arne_woerner@yahoo.com
Cc:        freebsd-geom@freebsd.org
Subject:   Re: graid5, 3 consumers, unaligned access
Message-ID:  <46C99506.2040106@queue.to>
In-Reply-To: <541513.41122.qm@web30315.mail.mud.yahoo.com>
References:  <541513.41122.qm@web30315.mail.mud.yahoo.com>

next in thread | previous in thread | raw e-mail | index | archive | help
Arne Wörner wrote:
> --- Howard Goldstein <hg@queue.to> wrote:
>> The twe driver has a design flaw that depends on malloc()ing bounce
>> buffers when it's handed data not aligned on 512 byte boundaries.  When
>> malloc fails, the driver syslogs a unique error that only can come from
>>
> I had a look at that file (twe...c) and found that it is not 512 bytes but 64
> bytes (in 6.2R) and that it is about the virtual memory address and not about
> the on-disk-offset...

Ahh you're believing the code comment :( (Rule #1: Never believe the
code comments).  The code comment is wrong, the place where it claims 64
bytes it actually wants 512 bytes, you have to look at the #define and
not the comment.

The problem for me is much worse since it happens all the time with that
requirement.  Can the device driver ever expect to see 512 byte aligned
buffers from geom?

> 
> So it is not a GEOM problem...
> 
> Maybe u could try to reduce the graid5 write cache by setting .maxwql and
> .maxmem to something smaller.

OK




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?46C99506.2040106>