Date: Fri, 07 Feb 2014 11:11:58 +0200 From: Andriy Gapon <avg@FreeBSD.org> To: Vitalij Satanivskij <satan@ukr.net> Cc: Vladimir Sharun <atz@ukr.net>, Current FreeBSD <freebsd-current@FreeBSD.org> Subject: Re: ARC "pressured out", how to control/stabilize ? (reformatted to text/plain) Message-ID: <52F4A35E.1080902@FreeBSD.org> In-Reply-To: <20140205122241.GA38114@hell.ukr.net> References: <52D66DB6.7030807@FreeBSD.org> <1390900795.258244476.v35k1338@frv45.ukr.net> <52EA3459.3070300@FreeBSD.org> <1391083826.948700370.cmzf8475@frv45.ukr.net> <20140131182637.GA82526@hell.ukr.net> <20140204100823.GA95709@hell.ukr.net> <52F0F687.6050307@FreeBSD.org> <20140204171040.GA82996@hell.ukr.net> <52F12210.10604@FreeBSD.org> <20140205090449.GA9341@hell.ukr.net> <20140205122241.GA38114@hell.ukr.net>
next in thread | previous in thread | raw e-mail | index | archive | help
on 05/02/2014 14:22 Vitalij Satanivskij said the following:
> Dear Andriy and FreeBSD community,
>
> Ok. I'm get coredump on panic.
>
> What else i need to do?
Vitalij, Vladimir,
I have been able to reproduce the leak at work, so now I have full access to all
debugging information that I need. Thank you for your testing and reports.
I have reported my observations to OpenZFS developers. It looks like the author
of L2ARC compression code is too busy right now to produce a fix.
Unfortunately, I am not very familiar with the L2ARC code, so I can not promise
to produce a patch soon.
My recommendation would be to completely disable L2ARC _compression_ (not L2ARC
itself) on your production systems for time being.
The following patch should do that:
--- a/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c
+++ b/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c
@@ -5080,20 +5080,22 @@ l2arc_write_buffers
* ab->b_buf may be invalid by now due to ARC eviction.
*/
l2hdr = ab->b_l2hdr;
l2hdr->b_daddr = dev->l2ad_hand;
+#if 0
if ((ab->b_flags & ARC_L2COMPRESS) &&
l2hdr->b_asize >= buf_compress_minsz) {
if (l2arc_compress_buf(l2hdr)) {
/*
* If compression succeeded, enable headroom
* boost on the next scan cycle.
*/
*headroom_boost = B_TRUE;
}
}
+#endif
/*
* Pick up the buffer data we had previously stashed away
* (and now potentially also compressed).
*/
--
Andriy Gapon
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?52F4A35E.1080902>
