[so2] [IXIA Challenge] Viteză mică de transfer la TX

Adrian Stanciu adrian.stanciu.pub at gmail.com
Sun Mar 26 12:28:50 EEST 2017


2017-03-25 19:47 GMT+02:00 Călin Cruceru via so2 <so2 at cursuri.cs.pub.ro>:
> 2017-03-25 18:45 GMT+02:00 Alexandru Jercaianu via so2 <so2 at cursuri.cs.pub.ro>:
>> Salut,
>>
>> Nu este nevoie de sincronizare intre comenzi tx, deoarece existe un
>> xmit_lock care previne ndo_start_xmit sa se apeleze in paralel [1].
>>
>> [1] http://lxr.free-electrons.com/source/net/core/dev.c?v=2.6.32#L1952
>>
>
> Da, așa pare.  E derutant pentru că funcția ndo_xmit_frame, din câte
> înțeleg, obișnuia să se numească hard_xmit_frame.
>

Într-adevăr, call stack-ul ar cuprinde secvența următoare (cel mai
recent apel este primul):
* ndo_start_xmit
* __netdev_start_xmit [2]
* netdev_start_xmit [3]
* xmit_one [4]
* dev_hard_start_xmit [5]
* __dev_queue_xmit [6]

dev_hard_start_xmit este apelat sub lock-ul [7] găsit de Alex (Mulțumesc!).

[2] http://lxr.free-electrons.com/source/include/linux/netdevice.h#L3967
[3] http://lxr.free-electrons.com/source/include/linux/netdevice.h#L3976
[4] http://lxr.free-electrons.com/source/net/core/dev.c#L2889
[5] http://lxr.free-electrons.com/source/net/core/dev.c#L2905
[6] http://lxr.free-electrons.com/source/net/core/dev.c#L3372
[7] http://lxr.free-electrons.com/source/include/linux/netdevice.h#L3586


Adrian


More information about the so2 mailing list