Page MenuHomeFreeBSD

amd64 GENERIC: compile in mlx5en(4)
ClosedPublic

Authored by kib on Feb 3 2021, 12:21 PM.

Diff Detail

Repository
R10 FreeBSD src repository
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.

Event Timeline

kib requested review of this revision.Feb 3 2021, 12:21 PM
kib created this revision.

Probably should do the same for aarch64 .

sys/amd64/conf/GENERIC
137

Why is xz added ?

kib marked an inline comment as done.Feb 3 2021, 7:45 PM

Probably should do the same for aarch64 .

Perhaps but not in this change. Lets do it by step.

sys/amd64/conf/GENERIC
137

It is required by mlxfw to interpret the blob formats used to deliver firmware updates.

Out of curiosity is there any reason that you want it in GENERIC ?
AFAIK the only reason to have an ethernet driver is that we can nfsroot using it without loading the module via loader.conf

sys/amd64/conf/GENERIC
137

Ok, shall we put it elsewhere in the file ?
Having it just below linuxkpi seems to indicate that those two are related.

kib marked 2 inline comments as done.Feb 3 2021, 8:31 PM
In D28469#637212, @manu wrote:

Out of curiosity is there any reason that you want it in GENERIC ?
AFAIK the only reason to have an ethernet driver is that we can nfsroot using it without loading the module via loader.conf

There were some issues on some cloud provider machines were it was inconvenient or impossible to load the driver as module. I do not have details.

Also, having driver in GENERIC, which cannot be auto-loaded by ifconfig [*] makes it easier for users to get machine configured.

  • Because interface is named mceX while driver module is mlx5en.ko.
sys/amd64/conf/GENERIC
137

I do not have any opinion. Propose a place for a generic component and I will move it.

In D28469#637220, @kib wrote:
In D28469#637212, @manu wrote:

Out of curiosity is there any reason that you want it in GENERIC ?
AFAIK the only reason to have an ethernet driver is that we can nfsroot using it without loading the module via loader.conf

There were some issues on some cloud provider machines were it was inconvenient or impossible to load the driver as module. I do not have details.

Mhm ok.

Also, having driver in GENERIC, which cannot be auto-loaded by ifconfig [*] makes it easier for users to get machine configured.

  • Because interface is named mceX while driver module is mlx5en.ko.

pnp info should help with that.

Is there any drawback of having linuxkpi compiled in if we don't use it btw ?

sys/amd64/conf/GENERIC
137

I think it will make more sense to have it in the "Pseudo devices." list below.

kib marked 2 inline comments as done.Feb 3 2021, 10:53 PM
In D28469#637223, @manu wrote:

Is there any drawback of having linuxkpi compiled in if we don't use it btw ?

I am not aware of any, except the obvious consequences of kernel text bloat and allocating some memory for objects that exists for the whole linuxkpi lifetime.

 text   data    bss     dec       hex   filename
90228   4048   2096   96372   0x17874   sys/amd64/compile/GENERIC/modules/usr/home/kostik/work/DEV/src/sys/modules/linuxkpi/linuxkpi.ko

Move xz to pseudodevices.

This revision is now accepted and ready to land.Feb 4 2021, 7:13 AM
This revision was automatically updated to reflect the committed changes.