[asterisk-bugs] [JIRA] (ASTERISK-25842) Move from linked lists to another type

Joshua Colp (JIRA) noreply at issues.asterisk.org
Sun Mar 13 13:46:56 CDT 2016


     [ https://issues.asterisk.org/jira/browse/ASTERISK-25842?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Joshua Colp closed ASTERISK-25842.
----------------------------------

    Resolution: Suspended

Before opening an issue on the issue tracker this type of thing should be discussed on the asterisk-dev mailing list as it has far reaching consequences and should be discussed first.

> Move from linked lists to another type
> --------------------------------------
>
>                 Key: ASTERISK-25842
>                 URL: https://issues.asterisk.org/jira/browse/ASTERISK-25842
>             Project: Asterisk
>          Issue Type: New Feature
>      Security Level: None
>          Components: Core/General
>    Affects Versions: 13.7.2
>            Reporter: Badalian Vyacheslav
>
> Hello dev.
> I vote on the care of using a linked list.
> You must use the combined aligned memory area for storing the list so that you can use vectorization and avx, avx2, avx256 optimizations.
> For example smaller lists may be held without locks in a single pass. Ie the operation will be the Atomic.
> A linked list does not allow vectorization and search all the elements by design.
> I propose, in order not to alter ABI add an array-reference to the head and SIMD to use it as an assistant.
> I can implement the option, but to be honest a little on a clean gcc is not convenient. That the command asterisk thinks of OpenMP to work with SIMD?
> i think we may use some like this
> {code}
> # aligned 8
> struct head {
> struct * before:
> struct[512] ptr_array;
> struct * after:
> }
> {code}
> use 512 is optimal for avx2 multicore, in futere we may change it to 1024 pointers in struct



--
This message was sent by Atlassian JIRA
(v6.2#6252)



More information about the asterisk-bugs mailing list