Re: ARC "pressured out", how to control/stabilize ? (reformatted to text/plain)

From: Andriy Gapon <avg_at_FreeBSD.org>
Date: Fri, 07 Feb 2014 11:11:58 +0200
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
_at__at_ -5080,20 +5080,22 _at__at_ 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
Received on Fri Feb 07 2014 - 08:12:58 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:46 UTC