Hi Jason, Am Donnerstag, den 13.07.2017, 16:15 -0600 schrieb Jason Gunthorpe: > On Thu, Jul 13, 2017 at 06:33:07PM +0000, Bart Van Assche wrote: > > On Thu, 2017-07-13 at 12:20 -0600, Jason Gunthorpe wrote: > > > Here is an untested attempt to move module loading into > > > srp_daemon - > > > what do you think Bart? > > > > Hello Jason, > > > > Thanks for the patch. To me this looks like a nice simplification > > compared > > to the current approach. Do you want me to test this patch? > > I did some more steps.. > > Benjamin/Bart let me know what you think, I'll send the patches to > the > list if you like the idea. > > https://github.com/jgunthorpe/rdma-plumbing/tree/systemd > > This replaces Benjamins rdma.conf based approach. > > The basic approach is to directly use systemd to load the modules and > determine what modules to load by using udev and explicit Requires in > the units. I like your approach very much. It's cleaner and simpler. So let's ditch my approach and use yours. I tested your branch on a Debian 8 (jessie) system with a mlx4 card and found several points to fix/improve/discuss: 1. The rdma-load-modules@ service needs to set DefaultDependencies=no. Otherwise it will end up in a dependency loop: Found ordering cycle on rdma-load-modules@mlx4.service/start Found dependency on basic.target/start Found dependency on paths.target/start Found dependency on acpid.path/start Found dependency on sysinit.target/start Found dependency on rdma-load-modules@mlx4.service/start Breaking ordering cycle by deleting job paths.target/start Found ordering cycle on rdma-load-modules@mlx4.service/start Found dependency on paths.target/start Found dependency on acpid.path/start Found dependency on sysinit.target/start Found dependency on rdma-load-modules@mlx4.service/start Starting Load RDMA modules from /etc/rdma/modules/mlx4.conf... 2. You can just specify "etc/rdma/modules" in debian/rdma-core.install instead of listing each .conf file individually. 3. Default conf files for opa.conf and roce.conf are missing. 4. Should rdma-load-modules@ *not* fail if the corresponding .conf is missing? 5. How to handle build-in modules correctly? Our kernel has the i40e module built in (CONFIG_I40E=y) and rdma-load-modules@i40e.service will be started, but the system does not have a i40e card and thus I don't want to have the module started. -- Benjamin Drung System Developer Debian & Ubuntu Developer ProfitBricks GmbH Greifswalder Str. 207 D - 10405 Berlin Email: benjamin.drung@xxxxxxxxxxxxxxxx Web: https://www.profitbricks.com Sitz der Gesellschaft: Berlin. Registergericht: Amtsgericht Charlottenburg, HRB 125506B. Geschäftsführer: Achim Weiss. -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html