VirtualBox

Changeset 36980 in vbox


Ignore:
Timestamp:
May 6, 2011 12:01:28 PM (14 years ago)
Author:
vboxsync
Message:

e1000: some explanation for SMP fix in r71586

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Devices/Network/DevE1000.cpp

    r36977 r36980  
    35333533     */
    35343534    /* Let's pretend we process descriptors. Write back with DD set. */
     3535    /*
     3536     * Prior to r71586 we tried to accomodate the case when write-back bursts
     3537     * are enabled without actually implementing bursting by writing back all
     3538     * descriptors, even the ones that do not have RS set. This caused kernel
     3539     * panics with Linux SMP kernels, as the e1000 driver tried to free up skb
     3540     * associated with written back descriptor if it happened to be a context
     3541     * descriptor since context descriptors do not have skb associated to them.
     3542     * Starting from r71586 we write back only the descriptors with RS set,
     3543     * which is a little bit different from what the real hardware does in
     3544     * case there is a chain of data descritors where some of them have RS set
     3545     * and others do not. It is very uncommon scenario imho.
     3546     */
    35353547    if (pDesc->legacy.cmd.fRS)
    35363548    {
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette