我试图找出 Linux net_device_ops 是否由调用者序列化,或者实现这些操作的驱动程序必须处理序列化(或者它们可以同时调用)。
例如,对于相同的驱动程序实例,在驱动程序完成当前的 ndo_start_xmit 调用之前,是否可以再次调用 ndo_start_xmit(例如在不同的 CPU 上)?
我搜索了其他 net_device 驱动程序是如何执行此操作的,但看起来他们假设 ndo_start_xmit 序列化是由调用者完成的(如果我错了,请纠正我)。
但是我也搜索了调用者是否使用自旋锁或其他锁机制,但我找不到。如果存在这样的(调用者)锁定机制,请指出执行此操作的代码。