Date: Thu, 16 Apr 2009 17:48:07 -0400 From: John Baldwin <jhb@freebsd.org> To: Scott Long <scottl@samsco.org> Cc: Damian Gerow <dgerow@afflictions.org>, freebsd-current@freebsd.org, Richard Todd <rmtodd@ichotolot.servalan.com> Subject: Re: ZFS checksum errors on umass(4) insertion Message-ID: <200904161748.08402.jhb@freebsd.org> In-Reply-To: <49E7A404.5090208@samsco.org> References: <49BD117B.2080706@163.com> <200904161624.51920.jhb@freebsd.org> <49E7A404.5090208@samsco.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Thursday 16 April 2009 5:32:52 pm Scott Long wrote: > John Baldwin wrote: > > Can you please try http://www.FreeBSD.org/~jhb/patches/dma_pg.patch? This > > lines up with your analysis in that it fixes a problem in the bounce buffer > > code that was introduced with the new USB stack (and only triggers when the > > USB code has to use a bounce buffer). > > > > As a data point, most normal I/O is not going to trigger this bug, even > if it gets bounced. I/O using O_DIRECT can, and GEOM discovery I/O can > as well. Since memory is allocated from the top of the system, I think > that the damage gets done early during boot, and then propagates out > over time as the system becomes busier. Hmm, are you sure regular I/O won't trigger it as well? All it takes is for any USB transfer that starts off within a page to get a page into a non-zero offset and later have a request >= PAGE_SIZE bounce. Since the VM is going to always ask for I/O to pages (e.g. GET/PUTPAGES) normal disk I/O would break if it uses the bad bounce page I think. -- John Baldwin
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200904161748.08402.jhb>