From owner-cvs-src-old@FreeBSD.ORG Thu Apr 21 13:32:07 2011 Return-Path: Delivered-To: cvs-src-old@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id C290B106566C for ; Thu, 21 Apr 2011 13:32:07 +0000 (UTC) (envelope-from pjd@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id AF7908FC22 for ; Thu, 21 Apr 2011 13:32:07 +0000 (UTC) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.4/8.14.4) with ESMTP id p3LDW7KG015901 for ; Thu, 21 Apr 2011 13:32:07 GMT (envelope-from pjd@repoman.freebsd.org) Received: (from svn2cvs@localhost) by repoman.freebsd.org (8.14.4/8.14.4/Submit) id p3LDW7sX015900 for cvs-src-old@freebsd.org; Thu, 21 Apr 2011 13:32:07 GMT (envelope-from pjd@repoman.freebsd.org) Message-Id: <201104211332.p3LDW7sX015900@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: svn2cvs set sender to pjd@repoman.freebsd.org using -f From: Pawel Jakub Dawidek Date: Thu, 21 Apr 2011 13:31:43 +0000 (UTC) To: cvs-src-old@freebsd.org X-FreeBSD-CVS-Branch: HEAD Subject: cvs commit: src/sys/geom/eli g_eli.c g_eli.h g_eli_ctl.c g_eli_integrity.c g_eli_key.c g_eli_key_cache.c g_eli_privacy.c src/sys/modules/geom/geom_eli Makefile X-BeenThere: cvs-src-old@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: **OBSOLETE** CVS commit messages for the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 21 Apr 2011 13:32:07 -0000 pjd 2011-04-21 13:31:43 UTC FreeBSD src repository Modified files: sys/geom/eli g_eli.c g_eli.h g_eli_ctl.c g_eli_integrity.c g_eli_key.c g_eli_privacy.c sys/modules/geom/geom_eli Makefile Added files: sys/geom/eli g_eli_key_cache.c Log: SVN rev 220922 on 2011-04-21 13:31:43Z by pjd Instead of allocating memory for all the keys at device attach, create reasonably large cache for the keys that is filled when needed. The previous version was problematic for very large providers (hundreds of terabytes or serval petabytes). Every terabyte of data needs around 256kB for keys. Make the default cache limit big enough to fit all the keys needed for 4TB providers, which will eat at most 1MB of memory. MFC after: 2 weeks Revision Changes Path 1.63 +10 -41 src/sys/geom/eli/g_eli.c 1.23 +38 -23 src/sys/geom/eli/g_eli.h 1.22 +2 -5 src/sys/geom/eli/g_eli_ctl.c 1.10 +6 -4 src/sys/geom/eli/g_eli_integrity.c 1.8 +3 -59 src/sys/geom/eli/g_eli_key.c 1.1 +319 -0 src/sys/geom/eli/g_eli_key_cache.c (new) 1.8 +8 -6 src/sys/geom/eli/g_eli_privacy.c 1.6 +1 -0 src/sys/modules/geom/geom_eli/Makefile