x86: Unify save_stack_address() and save_stack_address_nosched()
Cleanup. Factor the common code in save_stack_address() and save_stack_address_nosched(). Signed-off-by: Oleg Nesterov <oleg@redhat.com> Cc: Roland McGrath <roland@redhat.com> Cc: Arjan van de Ven <arjan@linux.intel.com> Cc: Vegard Nossum <vegard.nossum@gmail.com> Cc: Ingo Molnar <mingo@elte.hu> LKML-Reference: <20100603193243.GA31534@redhat.com> Signed-off-by: Frederic Weisbecker <fweisbec@gmail.com>
This commit is contained in:
		
							parent
							
								
									147ec4d236
								
							
						
					
					
						commit
						018378c55b
					
				| @ -23,13 +23,16 @@ static int save_stack_stack(void *data, char *name) | ||||
| 	return 0; | ||||
| } | ||||
| 
 | ||||
| static void save_stack_address(void *data, unsigned long addr, int reliable) | ||||
| static void | ||||
| __save_stack_address(void *data, unsigned long addr, bool reliable, bool nosched) | ||||
| { | ||||
| 	struct stack_trace *trace = data; | ||||
| #ifdef CONFIG_FRAME_POINTER | ||||
| 	if (!reliable) | ||||
| 		return; | ||||
| #endif | ||||
| 	if (nosched && in_sched_functions(addr)) | ||||
| 		return; | ||||
| 	if (trace->skip > 0) { | ||||
| 		trace->skip--; | ||||
| 		return; | ||||
| @ -38,22 +41,15 @@ static void save_stack_address(void *data, unsigned long addr, int reliable) | ||||
| 		trace->entries[trace->nr_entries++] = addr; | ||||
| } | ||||
| 
 | ||||
| static void save_stack_address(void *data, unsigned long addr, int reliable) | ||||
| { | ||||
| 	return __save_stack_address(data, addr, reliable, false); | ||||
| } | ||||
| 
 | ||||
| static void | ||||
| save_stack_address_nosched(void *data, unsigned long addr, int reliable) | ||||
| { | ||||
| 	struct stack_trace *trace = data; | ||||
| #ifdef CONFIG_FRAME_POINTER | ||||
| 	if (!reliable) | ||||
| 		return; | ||||
| #endif | ||||
| 	if (in_sched_functions(addr)) | ||||
| 		return; | ||||
| 	if (trace->skip > 0) { | ||||
| 		trace->skip--; | ||||
| 		return; | ||||
| 	} | ||||
| 	if (trace->nr_entries < trace->max_entries) | ||||
| 		trace->entries[trace->nr_entries++] = addr; | ||||
| 	return __save_stack_address(data, addr, reliable, true); | ||||
| } | ||||
| 
 | ||||
| static const struct stacktrace_ops save_stack_ops = { | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user