Skip to content

Commit 9fe353f

Browse files
Remove unneeded fallback in config comparison build
Signed-off-by: Karthik Vetrivel <[email protected]>
1 parent 9ad1573 commit 9fe353f

File tree

1 file changed

+15
-48
lines changed

1 file changed

+15
-48
lines changed

cmd/driver-manager/main.go

Lines changed: 15 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -51,20 +51,13 @@ const (
5151

5252
nvidiaDomainPrefix = "nvidia.com"
5353

54-
nvidiaModuleConfigFile = "/drivers/nvidia.conf"
55-
nvidiaUVMModuleConfigFile = "/drivers/nvidia-uvm.conf"
56-
nvidiaModsetModuleConfigFile = "/drivers/nvidia-modeset.conf"
57-
nvidiaPeermemModuleConfigFile = "/drivers/nvidia-peermem.conf"
54+
nvidiaModuleConfigFile = driverRoot + "/drivers/nvidia.conf"
55+
nvidiaUVMModuleConfigFile = driverRoot + "/drivers/nvidia-uvm.conf"
56+
nvidiaModesetModuleConfigFile = driverRoot + "/drivers/nvidia-modeset.conf"
57+
nvidiaPeermemModuleConfigFile = driverRoot + "/drivers/nvidia-peermem.conf"
5858
)
5959

6060
var (
61-
driverConfigFiles = []string{
62-
nvidiaModuleConfigFile,
63-
nvidiaUVMModuleConfigFile,
64-
nvidiaModsetModuleConfigFile,
65-
nvidiaPeermemModuleConfigFile,
66-
}
67-
6861
nvidiaDriverDeployLabel = nvidiaDomainPrefix + "/" + "gpu.deploy.driver"
6962
nvidiaOperatorValidatorDeployLabel = nvidiaDomainPrefix + "/" + "gpu.deploy.operator-validator"
7063
nvidiaContainerToolkitDeployLabel = nvidiaDomainPrefix + "/" + "gpu.deploy.container-toolkit"
@@ -681,19 +674,6 @@ func (dm *DriverManager) isDriverLoaded() bool {
681674
return err == nil
682675
}
683676

684-
// getValueWithOverride extracts a value from config by key, but returns override if non-empty
685-
func getValueWithOverride(config, key, override string) string {
686-
if override != "" {
687-
return override
688-
}
689-
for _, line := range strings.Split(config, "\n") {
690-
if strings.HasPrefix(line, key+"=") {
691-
return strings.TrimPrefix(line, key+"=")
692-
}
693-
}
694-
return ""
695-
}
696-
697677
// getKernelVersion returns the current kernel version
698678
func getKernelVersion() string {
699679
var utsname unix.Utsname
@@ -707,41 +687,30 @@ func getKernelVersion() string {
707687
}
708688

709689
// buildCurrentConfig constructs the current driver configuration string
710-
func (dm *DriverManager) buildCurrentConfig(storedConfig string) string {
711-
driverVersion := getValueWithOverride(storedConfig, "DRIVER_VERSION", dm.config.driverVersion)
712-
kernelVersion := getValueWithOverride(storedConfig, "KERNEL_VERSION", getKernelVersion())
713-
kernelModuleType := getValueWithOverride(storedConfig, "KERNEL_MODULE_TYPE", os.Getenv("KERNEL_MODULE_TYPE"))
714-
driverTypeEnv := os.Getenv("DRIVER_TYPE")
715-
if driverTypeEnv == "" {
716-
driverTypeEnv = "passthrough"
690+
func (dm *DriverManager) buildCurrentConfig() string {
691+
driverType := os.Getenv("DRIVER_TYPE")
692+
if driverType == "" {
693+
driverType = "passthrough"
717694
}
718-
driverType := getValueWithOverride(storedConfig, "DRIVER_TYPE", driverTypeEnv)
719695

720696
// Read module parameters from conf files
721697
nvidiaParams := readModuleParams(nvidiaModuleConfigFile)
722698
nvidiaUVMParams := readModuleParams(nvidiaUVMModuleConfigFile)
723-
nvidiaModeset := readModuleParams(nvidiaModsetModuleConfigFile)
699+
nvidiaModeset := readModuleParams(nvidiaModesetModuleConfigFile)
724700
nvidiaPeermem := readModuleParams(nvidiaPeermemModuleConfigFile)
725701

726702
var config strings.Builder
727-
config.WriteString(fmt.Sprintf("DRIVER_VERSION=%s\n", driverVersion))
703+
config.WriteString(fmt.Sprintf("DRIVER_VERSION=%s\n", dm.config.driverVersion))
728704
config.WriteString(fmt.Sprintf("DRIVER_TYPE=%s\n", driverType))
729-
config.WriteString(fmt.Sprintf("KERNEL_VERSION=%s\n", kernelVersion))
705+
config.WriteString(fmt.Sprintf("KERNEL_VERSION=%s\n", getKernelVersion()))
730706
config.WriteString(fmt.Sprintf("GPU_DIRECT_RDMA_ENABLED=%v\n", dm.config.gpuDirectRDMAEnabled))
731707
config.WriteString(fmt.Sprintf("USE_HOST_MOFED=%v\n", dm.config.useHostMofed))
732-
config.WriteString(fmt.Sprintf("KERNEL_MODULE_TYPE=%s\n", kernelModuleType))
708+
config.WriteString(fmt.Sprintf("KERNEL_MODULE_TYPE=%s\n", os.Getenv("KERNEL_MODULE_TYPE")))
733709
config.WriteString(fmt.Sprintf("NVIDIA_MODULE_PARAMS=%s\n", nvidiaParams))
734710
config.WriteString(fmt.Sprintf("NVIDIA_UVM_MODULE_PARAMS=%s\n", nvidiaUVMParams))
735711
config.WriteString(fmt.Sprintf("NVIDIA_MODESET_MODULE_PARAMS=%s\n", nvidiaModeset))
736712
config.WriteString(fmt.Sprintf("NVIDIA_PEERMEM_MODULE_PARAMS=%s\n", nvidiaPeermem))
737713

738-
// Append config file contents directly
739-
for _, file := range driverConfigFiles {
740-
if data, err := os.ReadFile(file); err == nil && len(data) > 0 {
741-
config.Write(data)
742-
}
743-
}
744-
745714
return config.String()
746715
}
747716

@@ -757,7 +726,7 @@ func readModuleParams(filepath string) string {
757726

758727
// driverModuleBuildNeeded checks if driver modules need to be rebuilt
759728
func (dm *DriverManager) driverModuleBuildNeeded() bool {
760-
storedData, err := os.ReadFile(driverConfigStateFile)
729+
storedConfig, err := os.ReadFile(driverConfigStateFile)
761730
if err != nil {
762731
if os.IsNotExist(err) {
763732
dm.log.Info("No previous driver configuration found")
@@ -767,10 +736,8 @@ func (dm *DriverManager) driverModuleBuildNeeded() bool {
767736
return true
768737
}
769738

770-
storedConfig := string(storedData)
771-
currentConfig := dm.buildCurrentConfig(storedConfig)
772-
773-
return currentConfig != storedConfig
739+
currentConfig := dm.buildCurrentConfig()
740+
return currentConfig != string(storedConfig)
774741
}
775742

776743
func (dm *DriverManager) shouldSkipUninstall() bool {

0 commit comments

Comments
 (0)