lkml.org 
[lkml]   [2019]   [Feb]   [22]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    SubjectRe: [PATCH v3 0/8] nic: thunderx: fix communication races between VF & PF
    From
    From: Vadim Lomovtsev <vlomovtsev@marvell.com>
    Date: Wed, 20 Feb 2019 11:02:42 +0000

    > The ThunderX CN88XX NIC Virtual Function driver uses mailbox interface
    > to communicate to physical function driver. Each of VF has it's own pair
    > of mailbox registers to read from and write to. The mailbox registers
    > has no protection from possible races, so it has to be implemented
    > at software side.
    >
    > After long term testing by loop of 'ip link set <ifname> up/down'
    > command it was found that there are two possible scenarios when
    > race condition appears:
    > 1. VF receives link change message from PF and VF send RX mode
    > configuration message to PF in the same time from separate thread.
    > 2. PF receives RX mode configuration from VF and in the same time,
    > in separate thread PF detects link status change and sends appropriate
    > message to particular VF.
    >
    > Both cases leads to mailbox data to be rewritten, NIC VF messaging control
    > data to be updated incorrectly and communication sequence gets broken.
    >
    > This patch series is to address race condition with VF & PF communication.
    >
    > Changes:
    > v1 -> v2
    > - 0000: correct typo in cover letter subject: 'betwen' -> 'between';
    > - move link state polling request task from pf to vf
    > instead of cheking status of mailbox irq;
    > v2 -> v3
    > - 0003: change return type of nicvf_send_cfg_done() function
    > from int to void;
    > - 0007: update subject and remove unused variable 'netdev'
    > from nicvf_link_status_check_task() function;

    Series applied, thanks.

    \
     
     \ /
      Last update: 2019-02-22 20:45    [W:4.114 / U:0.432 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site