[Kamailio-Devel] [SR-Dev] static buffers
Daniel-Constantin Mierla
miconda at gmail.com
Thu Nov 27 17:20:00 CET 2008
On 11/27/08 17:48, Andrei Pelinescu-Onciul wrote:
> On Nov 27, 2008 at 17:15, Daniel-Constantin Mierla <miconda at gmail.com> wrote:
>
>> Hello,
>>
>> There seem to be many places where static buffers are used for building
>> strings. It is clear they are used just for usage inside some functions,
>> with no need to keep the value for usage somewhere else.
>>
>> Would defining a global static buffer to be used for such cases make
>> sense? The access to the pointer and size can be given via functions.
>>
>
> In general I think we should move away from static buffers
> (we will need to get rid of a lot of them for the async. stuff so
> most of this work will have to be redone anyway).
>
these are one time usage, without any concurrency. They are basically
used inside functions to avoid alloc/free for each function. I think
this is not affected by async stuff.
>
>> There could be couple of such buffers to be used in the cases one
>> function need concurrent access to more than one ... opinions? It will
>> reduce memory space reserved and used...
>>
>
> I'm afraid it would introduce a lot of new bugs (you must make sure your
> functions that call each other do not use the same static buffer and
> that you do not call function using the same buffer in a row).
> As far as the memory space is concerned, it depends on how many of them
> are used.
> At least in sip-router core less then 1Mb is used in static vars of all
> kinds:
>
in the modules might be bigger... I think with 5 buffers, each of 1k, we
can satisfy all needs.
Cheers,
Daniel
> objdump -j .bss -j .data -t ser|perl -ne 'END { print "\nTotal: $s
> bytes\n" }; @l=split; $s+= hex $l[4]; print hex($l[4]),
> "\t-\t$l[5]\t$l[1]\t$l[2]\t$l[3]\n" '
> => Total: 4604741 bytes in staitic vars, but 4M is the pkg mem pool
> => 410437 bytes from which 2*139276 are tcp local timers and
> 65k udp recv buffers => 66349 in other static vars and buffers.
>
> So I guess it doesn't make sense to try to go beyond 66k...
>
>
> Andrei
>
> _______________________________________________
> sr-dev mailing list
> sr-dev at lists.sip-router.org
> http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-dev
>
>
--
Daniel-Constantin Mierla
http://www.asipto.com
More information about the Devel
mailing list