Thread (5 messages) 5 messages, 2 authors, 2023-06-21

Re: [PATCH 09/11] sysctl: Remove the end element in sysctl table arrays

From: Joel Granados <hidden>
Date: 2023-06-21 13:06:23
Also in: bpf, bridge, dri-devel, intel-gfx, linux-hams, lvs-devel, mptcp, netdev, ocfs2-devel, xen-devel

On Wed, Jun 21, 2023 at 02:16:55PM +0300, Jani Nikula wrote:
On Wed, 21 Jun 2023, Joel Granados [off-list ref] wrote:
quoted
Remove the empty end element from all the arrays that are passed to the
register sysctl calls. In some files this means reducing the explicit
array size by one. Also make sure that we are using the size in
ctl_table_header instead of evaluating the .procname element.
Where's the harm in removing the end elements driver by driver? This is
an unwieldy patch to handle.
I totally agree. Its a big one!!! but I'm concerned of breaking bisectibility:
* I could for example separate all the removes into separate commits and
  then have a final commit that removes the check for the empty element.
  But this will leave the tree in a state where the for loop will have
  undefined behavior when it looks for the empty end element. It might
  or might not work (probably not :) until the final commit where I fix
  that.

* I could also change the logic that looks for the final element,
  commit that first and then remove the empty element one commit per
  driver after that. But then for all the arrays that still have an
  empty element, there would again be undefined behavior as it would
  think that the last element is valid (when it is really the sentinel).

Any ideas on how to get around these?
quoted
diff --git a/drivers/gpu/drm/i915/i915_perf.c b/drivers/gpu/drm/i915/i915_perf.c
index f43950219ffc..e4d7372afb10 100644
--- a/drivers/gpu/drm/i915/i915_perf.c
+++ b/drivers/gpu/drm/i915/i915_perf.c
@@ -4884,24 +4884,23 @@ int i915_perf_remove_config_ioctl(struct drm_device *dev, void *data,
 
 static struct ctl_table oa_table[] = {
 	{
-	 .procname = "perf_stream_paranoid",
-	 .data = &i915_perf_stream_paranoid,
-	 .maxlen = sizeof(i915_perf_stream_paranoid),
-	 .mode = 0644,
-	 .proc_handler = proc_dointvec_minmax,
-	 .extra1 = SYSCTL_ZERO,
-	 .extra2 = SYSCTL_ONE,
-	 },
+		.procname = "perf_stream_paranoid",
+		.data = &i915_perf_stream_paranoid,
+		.maxlen = sizeof(i915_perf_stream_paranoid),
+		.mode = 0644,
+		.proc_handler = proc_dointvec_minmax,
+		.extra1 = SYSCTL_ZERO,
+		.extra2 = SYSCTL_ONE,
+	},
 	{
-	 .procname = "oa_max_sample_rate",
-	 .data = &i915_oa_max_sample_rate,
-	 .maxlen = sizeof(i915_oa_max_sample_rate),
-	 .mode = 0644,
-	 .proc_handler = proc_dointvec_minmax,
-	 .extra1 = SYSCTL_ZERO,
-	 .extra2 = &oa_sample_rate_hard_limit,
-	 },
-	{}
+		.procname = "oa_max_sample_rate",
+		.data = &i915_oa_max_sample_rate,
+		.maxlen = sizeof(i915_oa_max_sample_rate),
+		.mode = 0644,
+		.proc_handler = proc_dointvec_minmax,
+		.extra1 = SYSCTL_ZERO,
+		.extra2 = &oa_sample_rate_hard_limit,
+	}
 };
The existing indentation is off, but fixing it doesn't really belong in
this patch.
Agreed. But I actually was trying to fix something that checkpatch
flagged. I'll change these back (which will cause this patch to be
flagged).

An alternative solution would be to fix the indentation as part of the
preparation patches. Tell me what you think.

Thx
BR,
Jani.


-- 
Jani Nikula, Intel Open Source Graphics Center
-- 

Joel Granados

Attachments

Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help