Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 7 Nov 2000 10:45:04 -0800 (PST)
From:      Matt Dillon <dillon@earth.backplane.com>
To:        Jacques Fourie <jacques4i@yahoo.com>
Cc:        freebsd-hackers@FreeBSD.ORG
Subject:   Re: kernel stack size?
Message-ID:  <200011071845.eA7Ij4d81283@earth.backplane.com>
References:   <20001107132009.23436.qmail@web3504.mail.yahoo.com>

next in thread | previous in thread | raw e-mail | index | archive | help
:Hi
:
:Please excuse any silly questions, but I am stuck with
:a problem that I can't find the answer for. 
:
:I wrote a KLD module that performs encryption on
:network packets in the kernel. Packets are intercepted
:for encryption on a ethernet level (in ether_input()
:and ether_output_frame() respectively). This module is
:implemented on 4.1.1-RELEASE.
:
:For input packets I added my own NETISR as well as
:interrupt queue. In the ether_input() routine the
:packets are queued and a software interrupt scheduled.
:Further processing on the packet then happens at a
:priority of splnet().
:
:If I do bulk data transfers (encrypted) everything
:works fine until I run a shell script that does a 
:'ls -lR' in an infinite loop. A few "virtual time
:alarm" messages appear and then a kernel panic.
:Looking at the DDB output, it seems a lot like a
:kernel stack overflow has resulted. Very strange
:values for ebp and page faults on stack accesses is
:making me think along these lines. 
:
:Does anyone know where I can find more information
:about the kernel stack at interrupt time (such as the
:maximum size)?  
:I'm also not quite sure what the "virtual time alarm"
:messages mean, can anyone help me out?
:
:jacques

    The stack is very small.  You cannot safely allocate large
    structures on the stack -- I would limit your stack utilization
    to 256 bytes total to be safe.

    If you need to allocate large structures or arrays you need
    to do it at device-open and then save a reference that your
    interrupt can then use.

					-Matt



To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-hackers" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200011071845.eA7Ij4d81283>