Skip to contentSkip to conversation

generic-ipi: kill unnecessary variable - csd_flags

PATCH In review Xie XiuQi 3 participants 3 messages Jul 30, 2013 – Jul 31, 2013

lore
Share & tools
lore

Xie XiuQi

author
#0 lore raw

PATCH v2 1/1 generic-ipi: kill unnecessary variable - csd_flags

After commit:8969a5ede0f9e17da4b943712429aef2c9bcd82b "generic-ipi: remove kmalloc()", wait = 0 can be guaranteed.

And all callsites of generic_exec_single() do an unconditional csd_lock() now.

So csd_flags is unnecessary now. Remote it.

---
 kernel/smp.c | 14 +-------------
 1 file changed, 1 insertion(+), 13 deletions(-)
kernel/smp.c +1 -13
index fe9f773..7332697 100644
@@ -186,25 +186,13 @@ void generic_smp_call_function_single_interrupt(void)
 
 	while (!list_empty(&list)) {
 		struct call_single_data *csd;
-		unsigned int csd_flags;
 
 		csd = list_entry(list.next, struct call_single_data, list);
 		list_del(&csd->list);
 
-		/*
-		 * 'csd' can be invalid after this call if flags == 0
-		 * (when called through generic_exec_single()),
-		 * so save them away before making the call:
-		 */
-		csd_flags = csd->flags;
-
 		csd->func(csd->info);
 
-		/*
-		 * Unlocked CSDs are valid through generic_exec_single():
-		 */
-		if (csd_flags & CSD_FLAG_LOCK)
-			csd_unlock(csd);
+		csd_unlock(csd);
 	}
 }
 
Signature · 1 line
1.8.2.1
#2 lore raw

[tip:sched/core] generic-ipi: Kill unnecessary variable - csd_flags

In reply to Xie XiuQi
generic-ipi: Kill unnecessary variable - csd_flags
Commit-ID:  46591962cb5bfd2bfb0baf42497119c816503598
Gitweb:     http://git.kernel.org/tip/46591962cb5bfd2bfb0baf42497119c816503598
Author:     Xie XiuQi <[email protected]>
AuthorDate: Tue, 30 Jul 2013 11:06:09 +0800
Committer:  Ingo Molnar <[email protected]>
CommitDate: Tue, 30 Jul 2013 22:19:05 +0200

generic-ipi: Kill unnecessary variable - csd_flags

After commit 8969a5ede0f9e17da4b943712429aef2c9bcd82b ("generic-ipi: remove kmalloc()"), wait = 0 can be guaranteed, and all callsites of generic_exec_single() do an unconditional csd_lock() now.

So csd_flags is unnecessary now. Remove it.

---
 kernel/smp.c | 14 +-------------
 1 file changed, 1 insertion(+), 13 deletions(-)
kernel/smp.c +1 -13
index fe9f773..7332697 100644
@@ -186,25 +186,13 @@ void generic_smp_call_function_single_interrupt(void)
 
 	while (!list_empty(&list)) {
 		struct call_single_data *csd;
-		unsigned int csd_flags;
 
 		csd = list_entry(list.next, struct call_single_data, list);
 		list_del(&csd->list);
 
-		/*
-		 * 'csd' can be invalid after this call if flags == 0
-		 * (when called through generic_exec_single()),
-		 * so save them away before making the call:
-		 */
-		csd_flags = csd->flags;
-
 		csd->func(csd->info);
 
-		/*
-		 * Unlocked CSDs are valid through generic_exec_single():
-		 */
-		if (csd_flags & CSD_FLAG_LOCK)
-			csd_unlock(csd);
+		csd_unlock(csd);
 	}
 }