commit 0150e66ede787dd0b164d5d4a3195f<div id=":1x">69dabc7b23<br>
Author: Victor Julien <<a href="mailto:victor@inliniac.net">victor@inliniac.net</a>><br>
Date: Fri Mar 9 18:31:46 2012 +0100<br>
<br>
flow engine: improve scalability<br>
<br>
Major redesign of the flow engine. Remove the flow queues that turned<br>
out to be major choke points when using many threads. Flow manager now<br>
walks the hash table directly. Simplify the way we get a new flow in<br>
case of emergency.<br><br>Victor;<br><br>I assume this is the cause of a speed up on Tilera. One minor thing.<br><br>Would you mind making one minor change. It appears that Tilera can't do atomic mask operations on an unsigned character, so I had to do the following. If you change it everywhere it avoids another #ifdef for Tilera.<br>
<br>--- a/src/flow-manager.c<br>+++ b/src/flow-manager.c<br>@@ -63,7 +63,11 @@<br> /* Run mode selected at suricata.c */<br> extern int run_mode;<br> <br>+#ifdef __tile__<br>+SC_ATOMIC_EXTERN(unsigned int, flow_flags);<br>
+#else<br> SC_ATOMIC_EXTERN(unsigned char, flow_flags);<br>+#endif<br> <br> /* 1 seconds */<br> #define FLOW_NORMAL_MODE_UPDATE_DELAY_SEC 1<br><br></div>