Thread (23 messages) 23 messages, 2 authors, 2025-06-30

Re: [net-next v13 04/11] net: mtip: The L2 switch driver for imx287

From: Paolo Abeni <pabeni@redhat.com>
Date: 2025-06-24 13:24:33
Also in: imx, linux-arm-kernel, linux-devicetree, lkml

On 6/22/25 11:37 AM, Lukasz Majewski wrote:
+static void mtip_aging_timer(struct timer_list *t)
+{
+	struct switch_enet_private *fep = timer_container_of(fep, t,
+							     timer_aging);
+
+	fep->curr_time = mtip_timeincrement(fep->curr_time);
+
+	mod_timer(&fep->timer_aging,
+		  jiffies + msecs_to_jiffies(LEARNING_AGING_INTERVAL));
+}
It's unclear to me why you decided to maintain this function and timer
while you could/should have used a macro around jiffies instead.

[...]
+static int mtip_sw_learning(void *arg)
+{
+	struct switch_enet_private *fep = arg;
+
+	while (!kthread_should_stop()) {
+		set_current_state(TASK_INTERRUPTIBLE);
+		/* check learning record valid */
+		mtip_atable_dynamicms_learn_migration(fep, fep->curr_time,
+						      NULL, NULL);
+		schedule_timeout(HZ / 100);
+	}
+
+	return 0;
+}
Why are you using a full blown kernel thread here? Here a timer could
possibly make more sense. Why are checking the table every 10ms, while
the learning intervall is 100ms? I guess you could/should align the
frequency here with such interval.

Side note: I think you should move the buffer management to a later
patch: this one is still IMHO too big.

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