[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
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
9 months
FROM MRS ROSE RAYA
by Mrs.Rose Raya
My name is Mrs.Rose Raya.from Indonesia,
I know that this message might come to you as a surprise because we
don't know each other nor have we ever met before but accept it with
an open and positive mind. I have a Very important request that made
me to contact you; I was diagnosed with ovarian cancer disease which
doctors have confirmed and announced to me that i have just few days
to leave, Now that I’m ending the race like this, without any family
members and no child, I just came across your email contact from my
personal search.
I’m a business woman from Indonesia dealing with gold exportation here
in the Republic of Burkina Faso. I have decided to hand over the sum
of ($10.5 Million Dollar) in my account to you for the help of
orphanage homes/the needy once in your location to fulfill my wish on
earth. But before handing over my data’s to you, kindly assure me that
you will take only 50% of the money and share the rest to orphanage
homes/the needy once in your country, Return to enable me forward to
you the bank contact details now that I have access to Internet in the
hospital to enable you contact the bank, always
check your email and reply in time for better communications.
PLEASE REPLY ME WITH THE ANSWERS TO THOSE QUESTIONS BELOW FOR MY
CONFIRMATION SO THAT I CAN GIVE YOU THE EMAIL ADDRESS OF THE BANK FOR YOU
TO CONTACT THEM.
1. FULL NAME:
2. YOUR AGE:
3. SEX:
4. NATIONALITY:
5. COUNTRY OF RESIDENCE:
6. TELEPHONE NUMBER:
7. YOUR MARITAL STATUS:
8. YOUR OCCUPATION:
9. SEND TO ME YOUR PICTURE:
10. YOU HAVE TO ASSURE ME YOU WILL ACT AS I HAVE INSTRUCTED YOU IF THE
MONEY GETS TO YOUR BANK ACCOUNT.
Your early response will be appreciated.
Yours Faithfully,
Mrs.Rose Raya.
9 months, 1 week
Wycena paneli fotowoltaicznych
by "Przemysław Wróblewski"
Dzień dobry,
dostrzegam możliwość współpracy z Państwa firmą.
Świadczymy kompleksową obsługę inwestycji w fotowoltaikę, która obniża koszty energii elektrycznej nawet o 90%.
Czy są Państwo zainteresowani weryfikacją wstępnych propozycji?
Pozdrawiam,
Przemysław Wróblewski
9 months, 1 week
[RFCv5 PATCH net-next 00/20] 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 20]
There are a set of helpes named as "netdev_features_xxx", and I
want to add similar helpers for netdev features members, named as
netdev_XXX_features_xxx.(xxx: and/or/xor.., XXX: hw/vlan/mpls...)
To make the helpers name differentiable, rename netdev->features
to netdev->active_features. [patch 2]
For example:
#define netdev_active_features_set_bit(ndev, nr) \
netdev_features_set_bit(nr, &ndev->active_features)
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 20]
The features group macroes in netdev_features.h are replaced
by a set of const features defined in netdev_features.c. [patch 3-4]
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 5]
As suggestion from Andrew Lunn, I wrote some semantic patches to do the
work(replacing the netdev features operator by helpers). [patch 8-19]
To make the semantic patches simple, I split the complex opreation of
netdev_features to simple logical operation. [patch 6, 7]
With the prototype is no longer u64, the implementation of print interface
for netdev features(%pNF) is changed to bitmap. [patch 20]
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 want to get more
suggestions for this scheme, any comments would be appreciated.
The former discussion please see [1][2][3].
[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...
ChangeLog:
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 (20):
net: rename net_device->features to net_device->active_features
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_features_set_bit helpers
net: use netdev_features_or helpers
net: use netdev_features_xor helpers
net: use netdev_features_clear_bit helpers
net: use netdev_features_andnot helpers
net: use netdev_features_test_bit 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_set_xxx_features helpers
net: use netdev_xxx_features helpers
net: redefine the prototype of netdev_features_t
.../net/ethernet/hisilicon/hns3/hns3_enet.c | 116 ++-
.../ethernet/hisilicon/hns3/hns3_ethtool.c | 4 +-
drivers/net/ethernet/sfc/ef10.c | 43 +-
drivers/net/ethernet/sfc/ef100_nic.c | 57 +-
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 | 96 ++-
drivers/net/ethernet/sfc/efx_common.c | 32 +-
drivers/net/ethernet/sfc/falcon/efx.c | 75 +-
drivers/net/ethernet/sfc/falcon/efx.h | 3 +
drivers/net/ethernet/sfc/falcon/falcon.c | 4 +-
drivers/net/ethernet/sfc/falcon/net_driver.h | 4 +-
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 | 4 +-
drivers/net/ethernet/sfc/rx.c | 2 +-
drivers/net/ethernet/sfc/rx_common.c | 5 +-
drivers/net/ethernet/sfc/rx_common.h | 4 +
drivers/net/ethernet/sfc/siena.c | 3 +-
include/linux/netdev_features.h | 189 ++---
include/linux/netdevice.h | 722 +++++++++++++++++-
lib/vsprintf.c | 11 +-
net/core/dev.c | 419 ++++++----
net/core/netdev_features.c | 276 +++++++
net/ethtool/features.c | 77 +-
net/ethtool/ioctl.c | 140 ++--
29 files changed, 1797 insertions(+), 528 deletions(-)
create mode 100644 net/core/netdev_features.c
--
2.33.0
9 months, 2 weeks
Ref: Business Deal!
by Kalinkin Aliaksandr
An executive director with an oil Company, who is a client of mine has
informed me he is privy to over invoiced contracts amounting to
hundreds of millions of dollars. Based on this privileged information
he has agreed to assign this over invoiced funds to any individual or
company that applies as the contractor/beneficiary, with a good
understanding that when the funds are released to you, that both
parties will share the funds. If you agree to work with my client on
this privileged info, I will be needing your consent to present you or
your company as the beneficiary of one of the over invoiced contract
funds of $47 million.
I will inform you in detail what is required of you and how we are to
achieve this within the confines of the law as stipulated by my client
as soon as you reach me on my email.
The modalities for sharing the funds as suggested by my client which
is still subject to deliberation and agreement between the parties as
will be mutually decided is 60% for him and 40% for you.
All relevant documents to back up your claim as beneficiary will be
provided to you . All that is required is your honest cooperation and
participation to enable us to see this transaction through.
Looking forward to hear from you soonest.
Sincerely
Kalinkin Aliaksandr Esq.
9 months, 2 weeks
Quotation..
by Nicholas Morgan
Hi,
You Want Top Rank on Google.
1st Page of Google.
Just send me your Website URL & Keywords
Let me know if you are interested, I will send you our SEO Packages and price list.
Thanks,
Nicholas Morgan
Noida NCR (India)
9 months, 2 weeks