|
@@ -49,15 +49,19 @@ static DECLARE_MUTEX(profile_flip_mutex);
|
|
|
|
|
|
static int __init profile_setup(char * str)
|
|
|
{
|
|
|
+ static char __initdata schedstr[] = "schedule";
|
|
|
int par;
|
|
|
|
|
|
- if (!strncmp(str, "schedule", 8)) {
|
|
|
+ if (!strncmp(str, schedstr, strlen(schedstr))) {
|
|
|
prof_on = SCHED_PROFILING;
|
|
|
- printk(KERN_INFO "kernel schedule profiling enabled\n");
|
|
|
- if (str[7] == ',')
|
|
|
- str += 8;
|
|
|
- }
|
|
|
- if (get_option(&str,&par)) {
|
|
|
+ if (str[strlen(schedstr)] == ',')
|
|
|
+ str += strlen(schedstr) + 1;
|
|
|
+ if (get_option(&str, &par))
|
|
|
+ prof_shift = par;
|
|
|
+ printk(KERN_INFO
|
|
|
+ "kernel schedule profiling enabled (shift: %ld)\n",
|
|
|
+ prof_shift);
|
|
|
+ } else if (get_option(&str, &par)) {
|
|
|
prof_shift = par;
|
|
|
prof_on = CPU_PROFILING;
|
|
|
printk(KERN_INFO "kernel profiling enabled (shift: %ld)\n",
|