Browse code

- fixed EXTRA_DEBUG abort() segfault -- now it won't abort() on "detached" timers$

Andrei Pelinescu-Onciul authored on 22/09/2003 14:40:19
Showing 3 changed files
... ...
@@ -2,6 +2,7 @@ $Id$
2 2
 
3 3
 ( - todo, x - done)
4 4
 
5
+- grep parse_uri & replace with parse_sip_msg_uri (e.g do_action!)
5 6
 - WARNING: tm fr_timer fixup is not in HEAD (should it be? is it the
6 7
  rigth fix?)
7 8
 x update AUTHORS, debian/copyright, ser.8, ser.cfg.5 from stable
... ...
@@ -19,8 +20,13 @@ x port receive.c pre_script_cb fix from stable
19 20
     something like alias= foo1.bar:5080 foo2.bar foo3.bar:*
20 21
 - extend listen and alias to include port numbers and protocol:
21 22
        tcp foo.bar:5063, udp foo.bar:5062, foo2.bar
23
+- add force_via, force_srcip a.s.o (the advertised addresses should be
24
+ overwritable from the script).
25
+- ? add force_outbound_socket(ip)? (choose an apropriate socket from the
26
+ listen list for sending the msg; works on udp only)
22 27
 
23 28
 release:
29
+- unlink_timer_lists -- unsafe ???
24 30
 x print_cseq_num max. size fix.
25 31
 x backport: tcp conn id fix to stable + destroy_tcp 
26 32
 x backport: acc mem. leak fixes
... ...
@@ -134,6 +140,8 @@ optimizations:
134 140
 - getsock* cache
135 141
 - fd cache for tcp_send
136 142
 - dns cache? (see DNS)
143
+- make option to use openssl MD5 (HMAC_Init(hmac_ctx, (void*)key, 16, md5_md))
144
+ [ 0.9.7 version is really fast ]
137 145
 
138 146
 
139 147
 tcp stuff:
... ...
@@ -146,6 +154,8 @@ x set TOS to minimize delay
146 154
 
147 155
 tm optimizations:
148 156
 
157
+- inline/macro/drop for: get_tm_table, set_kr, lock_hash, unlock_hash,
158
+  set_t, get_t
149 159
 - replace snprintfs int build_uac_request, *_dlg
150 160
 - fix the huge param no. in this functions (use structs if neccessary):
151 161
   build_uac_request, build_uac_request_dlg, t_uac, t_uac_dlg
... ...
@@ -584,7 +584,7 @@ void print_timer_list( enum lists list_id)
584 584
 static void remove_timer_unsafe(  struct timer_link* tl )
585 585
 {
586 586
 #ifdef EXTRA_DEBUG
587
-	if (tl && tl->timer_list &&
587
+	if (tl && is_in_timer_list2(tl) &&
588 588
 		tl->timer_list->last_tl.prev_tl==0) {
589 589
 		LOG( L_CRIT,
590 590
 		"CRITICAL : Oh no, zero link in trailing timer element\n");
... ...
@@ -219,3 +219,60 @@ hash test results:
219 219
 new_hash             17.6        11.3             11.1
220 220
 new_hash2_old        16.6        12.6             10.9
221 221
 new_hash2            12           7.1              7.2         7.18
222
+-------------------------------------------------------------------------------
223
+date: 04.09.2002
224
+
225
+hardware: dorian 2*Athlon MP2000 (ser) <=gigabit=> mobile34 2*PIII 900
226
+
227
+version: ser 0.8.11 (i386/linux)
228
+flags: STATS:Off, USE_IPV6, USE_TCP, DISABLE_NAGLE, DNS_IP_HACK, SHM_MEM, SHM_MMAP, PKG_MALLOC, F_MALLOC, FAST_LOCK-ADAPTIVE_WAIT
229
+ADAPTIVE_WAIT_LOOPS=1024, MAX_RECV_BUFFER_SIZE 262144, MAX_LISTEN 16, MAX_URI_SIZE 1024, BUF_SIZE 65535
230
+@(#) $Id$
231
+main.c compiled on 14:34:25 Sep  4 2003 with gcc 3.3
232
+
233
+(standard release flags)
234
+
235
+ser command: ./ser -f test/test-throughput.cfg -l 10.0.0.179 -n 2 -m 256
236
+ser command: ./ser -f test/th-uri-fast.cfg     -l 10.0.0.179 -n 2 -m 256
237
+
238
+test calls: 100000
239
+
240
+stateless:
241
+                  throttle      1 proc (cps)   2 procs (cps)   4 procs (cps) 
242
+ser 0.8.11        20                           3951  3975
243
+                 100                           5032* 5057
244
+                 200                           5306  5360     5291 5321 5319
245
+statefull (tm):
246
+                  throttle      1 proc (cps)   2 procs (cps)   4 procs (cps) 
247
+ser 0.8.11        20                           
248
+                 100                                           4155 4429 4510
249
+                 200                                           4450 4349
250
+
251
+
252
+ w/ NO_DEBUG && CPU=athlon-mp CC_EXTRA_OPTIONS=-march=athlon-mp
253
+stateless:
254
+                  throttle      1 proc (cps)   2 procs (cps)   4 procs (cps) 
255
+ser 0.8.11        20                           
256
+                 100                                           5202 5224
257
+                 200                                           5384 5370
258
+statefull (tm):
259
+                  throttle      1 proc (cps)   2 procs (cps)   4 procs (cps) 
260
+ser 0.8.11        20                           
261
+                 100                                           4411 4549
262
+                 200                                           4602 4493
263
+statefull(tm)
264
+0.8.11+
265
+F_MALLOC_OPTIMIZE 12  100                                      4723 4660 4740
266
+                      200                                      4804 4879 4849
267
+(4857 cps, 1000000 calls, throttle=200)
268
+
269
+as above + std. cfg   100                                      4496 4453
270
+ (etc/ser.cfg)        200                                      4441 4445
271
+ (3 ifs, 5 aliases)
272
+
273
+ w/ usrloc lookups   100                                       4371 4475
274
+                     200                                       4381 4390
275
+
276
+(*)  - inv. retr
277
+(!!) - bye retrans?
278
+