On 08/26/2014 03:18 PM, Ola Liljedahl wrote:
So the packet socket fanout support uses PACKET_FANOUT_HASH which distributes packets using a hash (i.e. some sort of Receive Side Scaling). This creates some form of implicit classification and scheduling, how does it then interact with ODP classification and scheduling functionality?

Interesting if we can set up this hash from user space. Or do some more smart hashing/flow splitting without hacking kernel. Or we can enhance current packet mmap implementation.

Maxim.



On 26 August 2014 12:34, Maxim Uvarov <[email protected] <mailto:[email protected]>> wrote:

    Hello Gilad,

    This patches are good. I want to check one thing about it.

    Multi threaded app for raw sockets can reads the same packet in
    all thread at
    the same time if each thread reads from different sockets but
    source address is the same.
    To avoid that I did:
    527a305 single raw socket for all threads

    In case with mmap/fanout each thread binded to different cpus will
    receive packets fanout-ed
    by the kernel. So packets to that threads will not duplicate.

    In your patch you defined fanout for case if it's not supported.
    So that fanout will not work.
    Can you please check that threads do not receive the same packets?

    Thank you,
    Maxim.

    On 08/24/2014 02:53 PM, Gilad Ben-Yossef wrote:

        From: Gilad Ben-Yossef <[email protected]
        <mailto:[email protected]>>

        The following patch set provides backward compatability wrappers
        for defines and functions needed to get ODP built and examples
        run on older systems without sendmmsg and PACKET_FANOUT support
        in either kernel or libc.

        Specifically, with this patch set I get ODP built and examples
        run on a CentOS 6.5 host, where the build was previously failing.

        The patches have zero effect (build or run time) on systems where
        ODP was building before.

        Since ODP now builds and run on CentOS 6.5 with kernel version
        2.6.x,
        I also dropped the 3.x dependency.

        Only minimal testing (I ran a couple of the examples) were
        done for
        newly supported systems.

        Signed-off-by: Gilad Ben-Yossef <[email protected]
        <mailto:[email protected]>>

        Gilad Ben-Yossef (2):
           odp_packet_socket: define PACKET_FANOUT if needed
           odp_packet_socket: add backwards compatible sendmmsg wrapper

          DEPENDENCIES                                       | 4 +-
          platform/linux-generic/include/odp_packet_socket.h |  10 ++++++
          platform/linux-generic/odp_packet_socket.c         |  32
        ++++++++++++++++++++
          3 files changed, 44 insertions(+), 2 deletions(-)


        _______________________________________________
        lng-odp mailing list
        [email protected] <mailto:[email protected]>
        http://lists.linaro.org/mailman/listinfo/lng-odp



    _______________________________________________
    lng-odp mailing list
    [email protected] <mailto:[email protected]>
    http://lists.linaro.org/mailman/listinfo/lng-odp




_______________________________________________
lng-odp mailing list
[email protected]
http://lists.linaro.org/mailman/listinfo/lng-odp

Reply via email to