Home | History | Annotate | Download | only in pci
History log of /src/sys/dev/pci/if_vmx.c
RevisionDateAuthorComments
 1.17  05-Jul-2024  rin sys: Drop redundant NULL check before m_freem(9)

m_freem(9) safely has accepted NULL argument at least since 4.2BSD:
https://www.tuhs.org/cgi-bin/utree.pl?file=4.2BSD/usr/src/sys/sys/uipc_mbuf.c

Compile-tested on amd64/ALL.

Suggested by knakahara@
 1.16  29-Jun-2024  riastradh if_stats(9): Add ifp argument to if_stat..._ref.

This will enable us to pass the ifp through to a dtrace probe inside.

No functional change intended in this change, but this is an API
change visible to modules so it shouldn't be pulled up.

PR kern/58377
 1.15  06-Mar-2024  andvar Fix few typos in comments.
 1.14  09-Feb-2024  andvar s/incompatiable/incompatible/ in error messages.
 1.13  28-Aug-2023  msaitoh Set IFM_FDX flag if the link is up.
 1.12  10-Aug-2023  riastradh vmxnet(4): Fix various MP bugs.

- Defer reset to workqueue.
=> vmxnet3_stop_locked is forbidden in softint.
=> XXX Problem: We still take the core lock in softint, and we
still take the core lock around vmxnet3_stop_locked. TBD.
- Touch if_flags only under IFNET_LOCK.
=> Cache ifp->if_flags & IFF_PROMISC in vmxnet3_ifflags_cb.
=> Don't call vmxnet3_set_rxfilter unless up and running; cache
this as vmx_mcastactive. Use ENETRESET in vmxnet3_ifflags_cb
instead of calling vmxnet3_set_rxfilter directly.
. (The cache is currently serialized by the core lock, but it
might reasonably be serialized by an independent lock like in
usbnet(9).)
- Fix vmxnet3_stop_rendezvous so it actually does something.
=> New vxtxq_stopping, vxrxq_stopping variables synchronize with
Rx/Tx interrupt handlers.
- Sprinkle IFNET_LOCK and core lock assertions.
 1.11  16-Sep-2022  knakahara branches: 1.11.4;
It is correct to update ifp statistics per packet, just remove commented out old statistics code.

The code is commented out by if_vmx.c:r1.57.
 1.10  16-Sep-2022  knakahara Add ALWAYS_TXDEFER option to vmx(4), too.
 1.9  06-Jul-2022  msaitoh Call txeof first, then rxeof for the consistency.

There are three functions where the txeof and rxeof are called. The MSI-X
interrupt function and the workqueue function call rxeof first, then rxeof.
For legacy interrupt. rxeof is called first. Modify it to match with other
two.
 1.8  24-May-2022  msaitoh Reduce diff among vmxnet3_{legacy_intr,txrxq_intr,handle_que}(). NFCI.
 1.7  30-Mar-2022  knakahara vmxnet3_stop_rendezvous() requires workqueue_wait() to wait workqueue not scheduled yet.
 1.6  13-Feb-2022  riastradh vmx(4): Omit needless membar_sync wrapper.

Nothing uses this, and it is unlikely that any part of this driver
will need store-before-load ordering to synchronize with the host.
 1.5  13-Oct-2021  knakahara Fix vmx(4) receive workqueue problem on qemu, reported by ozaki-r@n.o, thanks.

ESXi stops interrupt by vmxnet3_disable_intr() immediately. In contrast, qemu
does not stop interrupt soon. Hmm, qemu's behavior seems not to be correct,
however, there is no explicit specification of vmxnet3. So, we have to accept
that behavior.
 1.4  15-Oct-2020  ryo Reduces useless "vmxnet3_read_cmd(sc, VMXNET3_CMD_GET_LINK)" calls
 1.3  15-Oct-2020  ryo Fixed a bug where 'ifconfig vmx0 down up' caused a failure to send.
This procedure was leaving sc->vmx_link_active = 0.

ok nakahara@
 1.2  14-Oct-2020  ryo modularize, and fix build error
 1.1  14-Oct-2020  ryo vmx(4) should be MI. moved to sys/dev/pci from sys/arch/x86/pci
 1.11.4.2  21-Sep-2024  martin Pull up following revision(s) (requested by rin in ticket #904):

sys/dev/pci/if_vmx.c: revision 1.12

vmxnet(4): Fix various MP bugs.
- Defer reset to workqueue.
=> vmxnet3_stop_locked is forbidden in softint.
=> XXX Problem: We still take the core lock in softint, and we
still take the core lock around vmxnet3_stop_locked. TBD.
- Touch if_flags only under IFNET_LOCK.
=> Cache ifp->if_flags & IFF_PROMISC in vmxnet3_ifflags_cb.
=> Don't call vmxnet3_set_rxfilter unless up and running; cache
this as vmx_mcastactive. Use ENETRESET in vmxnet3_ifflags_cb
instead of calling vmxnet3_set_rxfilter directly.
. (The cache is currently serialized by the core lock, but it
might reasonably be serialized by an independent lock like in
usbnet(9).)
- Fix vmxnet3_stop_rendezvous so it actually does something.
=> New vxtxq_stopping, vxrxq_stopping variables synchronize with
Rx/Tx interrupt handlers.
- Sprinkle IFNET_LOCK and core lock assertions.
 1.11.4.1  11-May-2024  martin Pull up following revision(s) (requested by msaitoh in ticket #687):

sys/dev/pci/if_vmx.c: revision 1.13

Set IFM_FDX flag if the link is up.

RSS XML Feed