[RFCv6 PATCH net-next 00/19] net: extend the type of netdev_features_t to bitmap
by Jian Shen
For the prototype of netdev_features_t is u64, and the number
of netdevice feature bits is 64 now. So there is no space to
introduce new feature bit.
This patchset try to solve it by change the prototype of
netdev_features_t from u64 to structure below:
typedef struct {
DECLARE_BITMAP(bits, NETDEV_FEATURE_COUNT);
} netdev_features_t;
With this change, it's necessary to introduce a set of bitmap
operation helpers for netdev features. As the nic drivers are
not supposed to modify netdev_features directly, it also
introduces wrappers helpers to this. [patch 1]
To avoid mistake using NETIF_F_XXX as NETIF_F_XXX_BIT as
input macroes for above helpers, remove all the macroes
of NETIF_F_XXX. [patch 19]
The features group macroes in netdev_features.h are replaced
by a set of const features defined in netdev_features.c. [patch 2-3]
For example:
macro NETIF_F_ALL_TSO is replaced by netdev_all_tso_features
There are some drivers(e.g. sfc) use netdev_features in global
structure initialization. Changed the its netdev_features_t memeber
to netdev_features_t *, and make it prefer to a netdev_features_t
global variables. [patch 4]
As suggestion from Andrew Lunn, I wrote some semantic patches to do the
work(replacing the netdev features operator by helpers). [patch 7-18]
To make the semantic patches simple, I split the complex opreation of
netdev_features to simple logical operation. [patch 5, 6]
With the prototype is no longer u64, the implementation of print interface
for netdev features(%pNF) is changed to bitmap. [patch 19]
The whole work is not complete yet. I just use these changes
on several files(hns3 driver, sfc drivers, net/ethtool, net/core/dev.c),
in order to show how these helpers will be used. I will apply these helpers
to the whole tree later, sofar I want to get more suggestions for this
scheme, any comments would be appreciated.
The former discussion please see [1][2][3][4].
[1]:https://www.spinics.net/lists/netdev/msg769952.html
[2]:https://www.spinics.net/lists/netdev/msg777764.html
[3]:https://lore.kernel.org/netdev/20211107101519.29264-1-shenjian15@huawe...
[4]:https://www.spinics.net/lists/netdev/msg809293.html
ChangeLog:
V5-V6: suggestions from Jakub Kicinski:
drop the rename for netdev->features
simplify names of some helpers, and move them to a new header file
refine the implement for netdev_features_set_array
V4->V5:
adjust the patch structure, use semantic patch with coccinelle
V3->V4:
rename netdev->features to netdev->active_features
remove helpes for handle first 64 bits
remove __NETIF_F(name) macroes
replace features group macroes with const features
V2->V3:
use structure for bitmap, suggest by Edward Cree
V1->V2:
Extend the prototype from u64 to bitmap, suggest by Andrew Lunn
Jian Shen (19):
net: introduce operation helpers for netdev features
net: replace general features macroes with global netdev_features
variables
net: replace multiple feature bits with netdev features array
net: sfc: replace const features initialization with netdev features
array
net: simplify the netdev features expression
net: adjust variables definition for netdev_features_t
net: use netdev_feature_add helpers
net: use netdev_features_or helpers
net: use netdev_features_xor helpers
net: use netdev_feature_del helpers
net: use netdev_features_andnot helpers
net: use netdev_feature_test helpers
net: use netdev_features_intersects helpers
net: use netdev_features_and helpers
net: use netdev_features_subset helpers
net: use netdev_features_equal helpers
net: use netdev_features_copy helpers
net: use netdev_xxx_features helpers
net: redefine the prototype of netdev_features_t
.../net/ethernet/hisilicon/hns3/hns3_enet.c | 108 ++-
.../ethernet/hisilicon/hns3/hns3_ethtool.c | 4 +-
.../net/ethernet/netronome/nfp/nfp_net_repr.c | 1 +
drivers/net/ethernet/sfc/ef10.c | 38 +-
drivers/net/ethernet/sfc/ef100_nic.c | 48 +-
drivers/net/ethernet/sfc/ef100_rx.c | 4 +-
drivers/net/ethernet/sfc/ef100_tx.c | 8 +-
drivers/net/ethernet/sfc/ef10_sriov.c | 6 +-
drivers/net/ethernet/sfc/efx.c | 82 ++-
drivers/net/ethernet/sfc/efx_common.c | 31 +-
drivers/net/ethernet/sfc/falcon/efx.c | 67 +-
drivers/net/ethernet/sfc/falcon/efx.h | 3 +
drivers/net/ethernet/sfc/falcon/falcon.c | 4 +-
drivers/net/ethernet/sfc/falcon/net_driver.h | 5 +-
drivers/net/ethernet/sfc/falcon/rx.c | 4 +-
drivers/net/ethernet/sfc/farch.c | 2 +-
drivers/net/ethernet/sfc/mcdi_filters.c | 13 +-
drivers/net/ethernet/sfc/mcdi_port_common.c | 2 +-
drivers/net/ethernet/sfc/net_driver.h | 5 +-
drivers/net/ethernet/sfc/rx.c | 2 +-
drivers/net/ethernet/sfc/rx_common.c | 4 +-
drivers/net/ethernet/sfc/rx_common.h | 4 +
drivers/net/ethernet/sfc/siena.c | 3 +-
drivers/net/wireguard/device.c | 10 +-
include/linux/netdev_features.h | 193 ++----
include/linux/netdev_features_helper.h | 653 ++++++++++++++++++
include/linux/netdevice.h | 109 +--
lib/vsprintf.c | 11 +-
net/8021q/vlan_dev.c | 1 +
net/core/Makefile | 2 +-
net/core/dev.c | 389 +++++++----
net/core/netdev_features.c | 241 +++++++
net/ethtool/features.c | 90 +--
net/ethtool/ioctl.c | 135 ++--
34 files changed, 1723 insertions(+), 559 deletions(-)
create mode 100644 include/linux/netdev_features_helper.h
create mode 100644 net/core/netdev_features.c
--
2.33.0
6 months, 1 week
I will do china sourcing agent,negotiation,dropshipping,inspection etc.
by Lee
list.
✂Please kindly talk with me before ordering! We need have a free communication that know your requirement.
Tired of a middle-men charging your higher prices?
Lower effectively communication with factory or salesman?
Delay the factory delivery time one time and one time?
Manufacture can't accept your Mini order?
Why I am a professional China sourcing agent?
➤ Over 10 years experience in international trade.
✔ Source
✔ Negotiation
✔ Dropshipping
✔ Print label
✔ Shipment
✔ Inspection
✔ Warehouse
✔ Help with Shopify/Amazon/Aliexpress etc.
✔ Searching by Google/Alibaba/Made-in-China/1688/Amazon FBA,local factory.
➤About visit factory, we usually go to Yiwu city ,Ningbo city ,Hangzhou city ect. If other city, kindly talk with me.
We are dedicated to help small & medium overseas companies or individual sourcing from China.
Instead of your company adjusting to the needs of a buying agent, I will comply with
your demands so everything you want comes to fruition.
➤Just tell us what exactly you want, we can give you a satisfied result or plan !
*If you’re interest*
Lee
Skype:+86 15919103357
WhatsApp:+86 15919103357
Email: zhxcycq@ gmail.com
WeChat:15919103357
8/10
Controversial, but I liked it.I think this episode was pretty good. The soundtrack was so good, and the cinematography too. Also, Pope is an amazing villain and the actor did amazing job portraying it.
Even though I liked it, the episode has two problems : is focused in only one core and the beginning is a little messy. It looks like the writers still don't understand that the episodes with only one core never go right. Well, at least this villains introduction was good and I'm excited to the next episode.
Final rating: 8.4 - a good episode, but the weakest one, so far.helpful•18 25pmartinsd Sep 5, 2021DetailsEditRelease date September 5, 2021 (United States)Country of origin United StatesLanguage EnglishProduction companies American Movie Classics (AMC) Idiot Box Productions Skybound EntertainmentSee more company credits at IMDbProTechnical specsEditRuntime 44 minutesColor ColorSound mix Dolby DigitalAspect ratio 1.78 : 1Related newsContribute to this pageSuggest an edit or add missing contentTop GapWhat is the French language plot outline for Rendition (2021)?AnswerSee more gaps Learn more about contributingEdit pageMore to exploreListThe 10 Most Anticipated Marvel and DC MoviesSee the full listList2022 TV Guide: The Best Shows Coming This YearSee the full listRecently viewedYou have no recently viewed pages
8 months
linuxarm@openeuler.org
by Akash Rabhit
Hello there,
Want more clients and customers?
I can help you in putting your website on Google top page and getting more
customers.
If you are interested, I can send you our past work, pricing and proposal.
Thanks & Regards,
Akash Rabhit
8 months
Re: Funding and Capital Financing
by Eman Ismail
Salaam,
We have direct mandate from our investors to seek new business opportunities and projects for possible funding and capital financing. Our investors are from the gulf region and intend to invest in viable ventures or projects which you are currently executing or intend to embark upon as a means of expanding their global portfolio. We are open to further discussions on this subject through any medium you deem appropriate.
Thanks, and Stay Safe.
Regards.
Eman Ismail
Head of Finance & Administration
Masraf Capitals LLC
8 months, 1 week
Koszty instalacji fotowoltaicznej
by "Arkadiusz Sokołowski"
Dzień dobry,
stworzyliśmy specjalną ofertę dla firm, na kompleksową obsługę inwestycji w fotowoltaikę.
Specjalizujemy się w zakresie doboru, montażu i serwisie instalacji fotowoltaicznych, dysponujemy najnowocześniejszymi rozwiązania, które zapewnią Państwu oczekiwane rezultaty.
Możemy przygotować dla Państwa wstępną kalkulację i przeanalizować efekty możliwe do osiągnięcia.
Czy są Państwo otwarci na wstępną rozmowę w tym temacie?
Pozdrawiam
Arkadiusz Sokołowski
8 months, 1 week