allocating 14KB memory per packet compression/decompression results in vm_fault

Ivo Vachkov ivo.vachkov at gmail.com
Fri Nov 4 15:58:18 PST 2005


2005/11/4, kamal kc <kamal_ckk at yahoo.com>:
>
> > > for my compression/decompression i use string
> > tables and temporary
> > >  buffers which take about 14KB of memory per
> > packet.
> >
> > If you're allocating 14 KB of data just to send
> > (approximately) 1.4 KB
> > and then you throw away the 14 KB immediately, it
> > sounds terrible.
>
> yes that's true.
>
> since i am using the adaptive LZW
> compression scheme it requires construction of string
> table for compression/decompression. So an ip packet
>  of size 1500 bytes requires a table of size (4KB +
>  4KB + 2KB =12KB).
>
> further still i copy the ip packet
>  data in another data buffer (about 1.4KB) and
> then compress it.
>
> So all this adds up to about 14KB.
>
> Right now i can't do with less than 14KB.
>
> as i said before the compression/decompression works
> fine. but soon the kernel would panic with one
> of the vm_fault: error message.
>
> what would be the best possible way to
> allocate/deallocate 14KB memory per packet without
> causing vm_faults ??
>
> is there anything i am missing ??

1. do you free all buffers you're using after sending the packet
(probably in if_output()/ether_output()) ?
2. you could try to allocate the buffers during system startup and reuse them.

> thanks
>
> kamal
>
>
>
>
>
>
>
>
>
>
>
>
>
> __________________________________
> Yahoo! Mail - PC Magazine Editors' Choice 2005
> http://mail.yahoo.com
> _______________________________________________
> freebsd-net at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-net
> To unsubscribe, send any mail to "freebsd-net-unsubscribe at freebsd.org"
>


--
"UNIX is basically a simple operating system, but you have to be a
genius to understand the simplicity." Dennis Ritchie


More information about the freebsd-net mailing list