Skip to content

Commit 45e7389

Browse files
authored
Merge pull request openshift#864 from zeeke/us/OCPBUGS-52853
kernel: Avoid setting `iommu.passthrough` on ARM system
2 parents 65fa49d + 7c56467 commit 45e7389

File tree

5 files changed

+10
-24
lines changed

5 files changed

+10
-24
lines changed

pkg/consts/constants.go

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -139,12 +139,11 @@ const (
139139
`IMPORT{program}="/etc/udev/switchdev-vf-link-name.sh $attr{phys_port_name}", ` +
140140
`NAME="%s_$env{NUMBER}"`
141141

142-
KernelArgPciRealloc = "pci=realloc"
143-
KernelArgIntelIommu = "intel_iommu=on"
144-
KernelArgIommuPt = "iommu=pt"
145-
KernelArgIommuPassthrough = "iommu.passthrough=1"
146-
KernelArgRdmaShared = "ib_core.netns_mode=1"
147-
KernelArgRdmaExclusive = "ib_core.netns_mode=0"
142+
KernelArgPciRealloc = "pci=realloc"
143+
KernelArgIntelIommu = "intel_iommu=on"
144+
KernelArgIommuPt = "iommu=pt"
145+
KernelArgRdmaShared = "ib_core.netns_mode=1"
146+
KernelArgRdmaExclusive = "ib_core.netns_mode=0"
148147

149148
// Systemd consts
150149
SriovSystemdConfigPath = SriovConfBasePath + "/sriov-interface-config.yaml"

pkg/daemon/daemon_test.go

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -185,7 +185,6 @@ var _ = Describe("Daemon Controller", Ordered, func() {
185185
hostHelper.EXPECT().IsKernelArgsSet("", constants.KernelArgPciRealloc).Return(true).AnyTimes()
186186
hostHelper.EXPECT().IsKernelArgsSet("", constants.KernelArgIntelIommu).Return(true).AnyTimes()
187187
hostHelper.EXPECT().IsKernelArgsSet("", constants.KernelArgIommuPt).Return(true).AnyTimes()
188-
hostHelper.EXPECT().IsKernelArgsSet("", constants.KernelArgIommuPassthrough).Return(true).AnyTimes()
189188
hostHelper.EXPECT().IsKernelArgsSet("", constants.KernelArgRdmaExclusive).Return(false).AnyTimes()
190189
hostHelper.EXPECT().IsKernelArgsSet("", constants.KernelArgRdmaShared).Return(false).AnyTimes()
191190
hostHelper.EXPECT().SetRDMASubsystem("").Return(nil).AnyTimes()

pkg/daemon/plugin_test.go

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,6 @@ var _ = Describe("config daemon plugin loading tests", func() {
4747
helperMock.EXPECT().IsKernelArgsSet("", consts.KernelArgPciRealloc).Return(false).AnyTimes()
4848
helperMock.EXPECT().IsKernelArgsSet("", consts.KernelArgRdmaExclusive).Return(false).AnyTimes()
4949
helperMock.EXPECT().IsKernelArgsSet("", consts.KernelArgRdmaShared).Return(false).AnyTimes()
50-
helperMock.EXPECT().IsKernelArgsSet("", consts.KernelArgIommuPassthrough).Return(false).AnyTimes()
5150

5251
// k8s plugin is ATM the only plugin which require mocking/faking, as its New method performs additional logic
5352
// other than simple plugin struct initialization

pkg/plugins/generic/generic_plugin.go

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -119,12 +119,11 @@ func NewGenericPlugin(helpers helper.HostHelpersInterface, options ...Option) (p
119119
return nil, err
120120
}
121121
desiredKernelArgs := KargStateMapType{
122-
consts.KernelArgPciRealloc: helpers.IsKernelArgsSet(kargs, consts.KernelArgPciRealloc),
123-
consts.KernelArgIntelIommu: helpers.IsKernelArgsSet(kargs, consts.KernelArgIntelIommu),
124-
consts.KernelArgIommuPt: helpers.IsKernelArgsSet(kargs, consts.KernelArgIommuPt),
125-
consts.KernelArgIommuPassthrough: helpers.IsKernelArgsSet(kargs, consts.KernelArgIommuPassthrough),
126-
consts.KernelArgRdmaShared: false,
127-
consts.KernelArgRdmaExclusive: false,
122+
consts.KernelArgPciRealloc: helpers.IsKernelArgsSet(kargs, consts.KernelArgPciRealloc),
123+
consts.KernelArgIntelIommu: helpers.IsKernelArgsSet(kargs, consts.KernelArgIntelIommu),
124+
consts.KernelArgIommuPt: helpers.IsKernelArgsSet(kargs, consts.KernelArgIommuPt),
125+
consts.KernelArgRdmaShared: false,
126+
consts.KernelArgRdmaExclusive: false,
128127
}
129128

130129
return &GenericPlugin{
@@ -438,9 +437,6 @@ func (p *GenericPlugin) addVfioDesiredKernelArg(state *sriovnetworkv1.SriovNetwo
438437
hostTypes.CPUVendorAMD: func() {
439438
p.enableDesiredKernelArgs(consts.KernelArgIommuPt)
440439
},
441-
hostTypes.CPUVendorARM: func() {
442-
p.enableDesiredKernelArgs(consts.KernelArgIommuPassthrough)
443-
},
444440
}
445441

446442
if !driverState.DriverLoaded && driverState.NeedDriverFunc(state, driverState) {

pkg/plugins/generic/generic_plugin_test.go

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,6 @@ var _ = Describe("Generic plugin", func() {
4141
hostHelper.EXPECT().IsKernelArgsSet("", consts.KernelArgPciRealloc).Return(false).AnyTimes()
4242
hostHelper.EXPECT().IsKernelArgsSet("", consts.KernelArgRdmaExclusive).Return(false).AnyTimes()
4343
hostHelper.EXPECT().IsKernelArgsSet("", consts.KernelArgRdmaShared).Return(false).AnyTimes()
44-
hostHelper.EXPECT().IsKernelArgsSet("", consts.KernelArgIommuPassthrough).Return(false).AnyTimes()
4544

4645
hostHelper.EXPECT().RunCommand(gomock.Any(), gomock.Any()).Return("", "", nil).AnyTimes()
4746

@@ -935,12 +934,6 @@ var _ = Describe("Generic plugin", func() {
935934
Expect(genericPlugin.(*GenericPlugin).DesiredKernelArgs[consts.KernelArgIommuPt]).To(BeTrue())
936935
})
937936

938-
It("should set the correct kernel args on ARM CPUs", func() {
939-
hostHelper.EXPECT().GetCPUVendor().Return(hostTypes.CPUVendorARM, nil)
940-
genericPlugin.(*GenericPlugin).addVfioDesiredKernelArg(vfioNetworkNodeState)
941-
Expect(genericPlugin.(*GenericPlugin).DesiredKernelArgs[consts.KernelArgIommuPassthrough]).To(BeTrue())
942-
})
943-
944937
It("should enable rdma shared mode", func() {
945938
hostHelper.EXPECT().SetRDMASubsystem(consts.RdmaSubsystemModeShared).Return(nil)
946939
err := genericPlugin.(*GenericPlugin).configRdmaKernelArg(rdmaState)

0 commit comments

Comments
 (0)