Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Use modules for hardware drivers #2061

Closed
rn opened this issue Jun 16, 2017 · 7 comments · Fixed by #2095
Closed

Use modules for hardware drivers #2061

rn opened this issue Jun 16, 2017 · 7 comments · Fixed by #2095

Comments

@rn
Copy link
Member

rn commented Jun 16, 2017

With module loading now working, we should move some device drivers to be compiled as modules.

As a rule of a thumb, we should only compile in device which are commonly used on Hypervisors (mostly virtio and hyper-v) and move all other device drivers to be compiled as modules.

This should speed up boot times on local hypervisors where we care most about these things

@rn rn added the area/kernel label Jun 16, 2017
@justincormack
Copy link
Member

It would be good to measure the boot time before and after, so we get a handle on the improvement.

Many of the network options can be changed to be modular too.

@nrocco
Copy link
Contributor

nrocco commented Jun 16, 2017

cc @m4rcu5

@m4rcu5
Copy link
Contributor

m4rcu5 commented Jun 16, 2017

I started doing some initial moving to modules for block device drivers and network device drivers in a branch here
An initial comparison against for example the Arch linux kernel configuration showed 650 drivers/modules that could be build as module instead of build-in, but I think that everything related to the network stack (ipv4/6, netfilter) could stay build-in as it is an essential part of the OS here.

@rn
Copy link
Member Author

rn commented Jun 17, 2017

@m4rcu5 thanks for the branch. I think we want the virtio drivers and a view others you move to modules compiled in. I would initially just move the drivers for real HV into modules

@pwFoo
Copy link

pwFoo commented Jun 21, 2017

I replaced the linuxkit kernel (config) with a custom one because I need desktop kernel modules. Would be great to have additional kernel modules. Maybe as a separated image with shared /lib/modules? So additional / desktop required kernel modules could be optional.

@rn
Copy link
Member Author

rn commented Jun 21, 2017 via email

@pwFoo
Copy link

pwFoo commented Jun 21, 2017

Ok, thanks for feedback, @rn

# for free to join this conversation on GitHub. Already have an account? # to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

5 participants