[Oisf-devel] Last checking faster on Tilera...

Victor Julien victor at inliniac.net
Sat Mar 10 09:29:12 UTC 2012


On 03/10/2012 02:14 AM, Tom DeCanio wrote:
> commit 0150e66ede787dd0b164d5d4a3195f
> 69dabc7b23
> Author: Victor Julien <victor at inliniac.net <mailto:victor at inliniac.net>>
> Date:   Fri Mar 9 18:31:46 2012 +0100
> 
>    flow engine: improve scalability
> 
>    Major redesign of the flow engine. Remove the flow queues that turned
>    out to be major choke points when using many threads. Flow manager now
>    walks the hash table directly. Simplify the way we get a new flow in
>    case of emergency.
> 
> Victor;
> 
> I assume this is the cause of a speed up on Tilera.  One minor thing.

Thats what it was designed to do :)

> 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.

Sure, can you submit a patch for that?

Btw, do you see any issues with atomic operations on a ptr? Earlier
versions of the gcc atomic intrinsics accepted only certain ints, but
now it accepts void * too.

Cheers,
Victor

> --- a/src/flow-manager.c
> +++ b/src/flow-manager.c
> @@ -63,7 +63,11 @@
>  /* Run mode selected at suricata.c */
>  extern int run_mode;
>  
> +#ifdef __tile__
> +SC_ATOMIC_EXTERN(unsigned int, flow_flags);
> +#else
>  SC_ATOMIC_EXTERN(unsigned char, flow_flags);
> +#endif
>  
>  /* 1 seconds */
>  #define FLOW_NORMAL_MODE_UPDATE_DELAY_SEC 1
> 


-- 
---------------------------------------------
Victor Julien
http://www.inliniac.net/
PGP: http://www.inliniac.net/victorjulien.asc
---------------------------------------------




More information about the Oisf-devel mailing list