[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20240805030242.62390-1-jasowang@redhat.com>
Date: Mon, 5 Aug 2024 11:02:39 +0800
From: Jason Wang <jasowang@...hat.com>
To: mst@...hat.com,
jasowang@...hat.com,
xuanzhuo@...ux.alibaba.com,
eperezma@...hat.com
Cc: davem@...emloft.net,
edumazet@...gle.com,
kuba@...nel.org,
pabeni@...hat.com,
virtualization@...ts.linux.dev,
netdev@...r.kernel.org,
linux-kernel@...r.kernel.org
Subject: [PATCH V5 net-next 0/3] virtio-net: synchronize op/admin state
Hi All:
This series tries to synchronize the operstate with the admin state
which allows the lower virtio-net to propagate the link status to the
upper devices like macvlan.
This is done by toggling carrier during ndo_open/stop while doing
other necessary serialization about the carrier settings during probe.
Changes since V4:
- do not update settings during ndo_open()
- do not try to canel config noticiation during probe() as core make
sure the config notificaiton won't be triggered before probe is
done.
- Tweak sevreal comments.
Changes since V3:
- when driver tries to enable config interrupt, check pending
interrupt and execute the nofitication change callback if necessary
- do not unconditonally trigger the config space read
- do not set LINK_UP flag in ndo_open/close but depends on the
notification change
- disable config change notification until ndo_open()
- read the link status under the rtnl_lock() to prevent a race with
ndo_open()
Changes since V2:
- introduce config_driver_disabled and helpers
- schedule config change work unconditionally
Jason Wang (3):
virtio: rename virtio_config_enabled to virtio_config_core_enabled
virtio: allow driver to disable the configure change notification
virtio-net: synchronize operstate with admin state on up/down
drivers/net/virtio_net.c | 78 +++++++++++++++++++++++++---------------
drivers/virtio/virtio.c | 59 +++++++++++++++++++++++-------
include/linux/virtio.h | 11 ++++--
3 files changed, 105 insertions(+), 43 deletions(-)
--
2.31.1
Powered by blists - more mailing lists