Ignore:
Timestamp:
Apr 16, 2017, 3:07:01 PM (3 months ago)
Author:
brainslayer
Message:

update

File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/linux/universal/linux-3.18/net/core/pktgen.c

    r27888 r31869  
    212212
    213213/* If lock -- protects updating of if_list */
    214 #define   if_lock(t)           spin_lock(&(t->if_lock));
    215 #define   if_unlock(t)           spin_unlock(&(t->if_lock));
     214#define   if_lock(t)           mutex_lock(&(t->if_lock));
     215#define   if_unlock(t)           mutex_unlock(&(t->if_lock));
    216216
    217217/* Used to help with determining the pkts on receive */
     
    419419
    420420struct pktgen_thread {
    421         spinlock_t if_lock;             /* for list of devices */
     421        struct mutex if_lock;           /* for list of devices */
    422422        struct list_head if_list;       /* All device here */
    423423        struct list_head th_list;
     
    19531953        struct pktgen_thread *t;
    19541954
     1955        mutex_lock(&pktgen_thread_lock);
     1956
    19551957        list_for_each_entry(t, &pn->pktgen_threads, th_list) {
    19561958                struct pktgen_dev *pkt_dev;
    19571959
    1958                 rcu_read_lock();
    1959                 list_for_each_entry_rcu(pkt_dev, &t->if_list, list) {
     1960                if_lock(t);
     1961                list_for_each_entry(pkt_dev, &t->if_list, list) {
    19601962                        if (pkt_dev->odev != dev)
    19611963                                continue;
     
    19721974                        break;
    19731975                }
    1974                 rcu_read_unlock();
    1975         }
     1976                if_unlock(t);
     1977        }
     1978        mutex_unlock(&pktgen_thread_lock);
    19761979}
    19771980
     
    36573660        }
    36583661
    3659         spin_lock_init(&t->if_lock);
     3662        mutex_init(&t->if_lock);
    36603663        t->cpu = cpu;
    36613664
Note: See TracChangeset for help on using the changeset viewer.