Re: VIA/ACE PadLock integration with crypto(9).

From: Pawel Jakub Dawidek <pjd_at_FreeBSD.org>
Date: Wed, 17 Aug 2005 16:38:05 +0200
On Tue, Aug 16, 2005 at 03:39:13PM -0400, Mike Tancsa wrote:
+> Fatal trap 12: page fault while in kernel mode
+> fault virtual address   = 0xc1ac7004
+> fault code              = supervisor write, page not present
+> instruction pointer     = 0x20:0xc0617b6c
+> stack pointer           = 0x28:0xcb788cf4
+> frame pointer           = 0x28:0xcb788d10
+> code segment            = base 0x0, limit 0xfffff, type 0x1b
+>                          = DPL 0, pres 1, def32 1, gran 1
+> processor eflags        = interrupt enabled, resume, IOPL = 0
+> current process         = 6 (crypto returns)
+> trap number             = 12
+> panic: page fault

Fix in HEAD. Thanks!

+> but I am still seeing lots of
+> 
+> GEOM_ELI: g_eli_crypto_run() failed (error=12). ad0s1e.eli[WRITE(offset=17842176, length=131072)]
+> GEOM_ELI: g_eli_crypto_run() failed (error=12). ad0s1e.eli[WRITE(offset=18366464, length=131072)]
+> GEOM_ELI: g_eli_crypto_run() failed (error=12). ad0s1e.eli[WRITE(offset=18497536, length=131072)]
+> GEOM_ELI: g_eli_crypto_run() failed (error=12). ad0s1e.eli[WRITE(offset=18628608, length=131072)]
+> GEOM_ELI: g_eli_crypto_run() failed (error=12). ad0s1e.eli[WRITE(offset=18759680, length=131072)]
+> GEOM_ELI: g_eli_crypto_run() failed (error=12). ad0s1e.eli[WRITE(offset=19283968, length=131072)]
+> GEOM_ELI: g_eli_crypto_run() failed (error=12). ad0s1e.eli[WRITE(offset=19415040, length=131072)]
+> GEOM_ELI: g_eli_crypto_run() failed (error=12). ad0s1e.eli[WRITE(offset=19546112, length=131072)]
+> GEOM_ELI: g_eli_crypto_run() failed (error=12). ad0s1e.eli[WRITE(offset=19677184, length=131072)]
+> GEOM_ELI: g_eli_crypto_run() failed (error=12). ad0s1e.eli[WRITE(offset=20201472, length=131072)]
+> GEOM_ELI: g_eli_crypto_run() failed (error=12). ad0s1e.eli[WRITE(offset=20332544, length=131072)]
+> GEOM_ELI: g_eli_crypto_run() failed (error=12). ad0s1e.eli[WRITE(offset=20463616, length=131072)]
+> GEOM_ELI: g_eli_crypto_run() failed (error=12). ad0s1e.eli[WRITE(offset=20594688, length=131072)]

I'm afraid we need to live with it. GELI will handle those errors.
I'm testing now how will it perform when I'll run dedicated kernel thread
even for no-crypto-hardware case. Then I can allocate memory with M_WAITOK
flag (which is safe, as I don't use the same thread to free previous
requests). If there will be significant performance impact, I'll just
silence those warnings.

-- 
Pawel Jakub Dawidek                       http://www.wheel.pl
pjd_at_FreeBSD.org                           http://www.FreeBSD.org
FreeBSD committer                         Am I Evil? Yes, I Am!

Received on Wed Aug 17 2005 - 12:38:25 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:38:41 UTC