Loading kernel/lockdep.c +24 −41 Original line number Original line Diff line number Diff line Loading @@ -467,54 +467,37 @@ const char * __get_key_name(struct lockdep_subclass_key *key, char *str) return kallsyms_lookup((unsigned long)key, NULL, NULL, NULL, str); return kallsyms_lookup((unsigned long)key, NULL, NULL, NULL, str); } } void static inline unsigned long lock_flag(enum lock_usage_bit bit) get_usage_chars(struct lock_class *class, char *c1, char *c2, char *c3, char *c4, char *c5, char *c6) { { *c1 = '.', *c2 = '.', *c3 = '.', *c4 = '.', *c5 = '.', *c6 = '.'; return 1UL << bit; } if (class->usage_mask & LOCKF_USED_IN_HARDIRQ) *c1 = '+'; else if (class->usage_mask & LOCKF_ENABLED_HARDIRQ) *c1 = '-'; if (class->usage_mask & LOCKF_USED_IN_SOFTIRQ) static char get_usage_char(struct lock_class *class, enum lock_usage_bit bit) *c2 = '+'; { else char c = '.'; if (class->usage_mask & LOCKF_ENABLED_SOFTIRQ) *c2 = '-'; if (class->usage_mask & LOCKF_ENABLED_HARDIRQ_READ) if (class->usage_mask & lock_flag(bit + 2)) *c3 = '-'; c = '+'; if (class->usage_mask & LOCKF_USED_IN_HARDIRQ_READ) { if (class->usage_mask & lock_flag(bit)) { *c3 = '+'; c = '-'; if (class->usage_mask & LOCKF_ENABLED_HARDIRQ_READ) if (class->usage_mask & lock_flag(bit + 2)) *c3 = '?'; c = '?'; } } if (class->usage_mask & LOCKF_ENABLED_SOFTIRQ_READ) return c; *c4 = '-'; if (class->usage_mask & LOCKF_USED_IN_SOFTIRQ_READ) { *c4 = '+'; if (class->usage_mask & LOCKF_ENABLED_SOFTIRQ_READ) *c4 = '?'; } } if (class->usage_mask & LOCKF_USED_IN_RECLAIM_FS) void *c5 = '+'; get_usage_chars(struct lock_class *class, char *c1, char *c2, char *c3, else char *c4, char *c5, char *c6) if (class->usage_mask & LOCKF_ENABLED_RECLAIM_FS) { *c5 = '-'; *c1 = get_usage_char(class, LOCK_USED_IN_HARDIRQ); *c2 = get_usage_char(class, LOCK_USED_IN_SOFTITQ); if (class->usage_mask & LOCKF_ENABLED_RECLAIM_FS_READ) *c3 = get_usage_char(class, LOCK_USED_IN_HARDIRQ_READ); *c6 = '-'; *c4 = get_usage_char(class, LOCK_USED_IN_SOFTITQ_READ); if (class->usage_mask & LOCKF_USED_IN_RECLAIM_FS_READ) { *c6 = '+'; if (class->usage_mask & LOCKF_ENABLED_RECLAIM_FS_READ) *c6 = '?'; } *c5 = get_usage_char(class, LOCK_USED_IN_RECLAIM_FS); *c6 = get_usage_char(class, LOCK_USED_IN_RECLAIM_FS_READ); } } static void print_lock_name(struct lock_class *class) static void print_lock_name(struct lock_class *class) Loading Loading
kernel/lockdep.c +24 −41 Original line number Original line Diff line number Diff line Loading @@ -467,54 +467,37 @@ const char * __get_key_name(struct lockdep_subclass_key *key, char *str) return kallsyms_lookup((unsigned long)key, NULL, NULL, NULL, str); return kallsyms_lookup((unsigned long)key, NULL, NULL, NULL, str); } } void static inline unsigned long lock_flag(enum lock_usage_bit bit) get_usage_chars(struct lock_class *class, char *c1, char *c2, char *c3, char *c4, char *c5, char *c6) { { *c1 = '.', *c2 = '.', *c3 = '.', *c4 = '.', *c5 = '.', *c6 = '.'; return 1UL << bit; } if (class->usage_mask & LOCKF_USED_IN_HARDIRQ) *c1 = '+'; else if (class->usage_mask & LOCKF_ENABLED_HARDIRQ) *c1 = '-'; if (class->usage_mask & LOCKF_USED_IN_SOFTIRQ) static char get_usage_char(struct lock_class *class, enum lock_usage_bit bit) *c2 = '+'; { else char c = '.'; if (class->usage_mask & LOCKF_ENABLED_SOFTIRQ) *c2 = '-'; if (class->usage_mask & LOCKF_ENABLED_HARDIRQ_READ) if (class->usage_mask & lock_flag(bit + 2)) *c3 = '-'; c = '+'; if (class->usage_mask & LOCKF_USED_IN_HARDIRQ_READ) { if (class->usage_mask & lock_flag(bit)) { *c3 = '+'; c = '-'; if (class->usage_mask & LOCKF_ENABLED_HARDIRQ_READ) if (class->usage_mask & lock_flag(bit + 2)) *c3 = '?'; c = '?'; } } if (class->usage_mask & LOCKF_ENABLED_SOFTIRQ_READ) return c; *c4 = '-'; if (class->usage_mask & LOCKF_USED_IN_SOFTIRQ_READ) { *c4 = '+'; if (class->usage_mask & LOCKF_ENABLED_SOFTIRQ_READ) *c4 = '?'; } } if (class->usage_mask & LOCKF_USED_IN_RECLAIM_FS) void *c5 = '+'; get_usage_chars(struct lock_class *class, char *c1, char *c2, char *c3, else char *c4, char *c5, char *c6) if (class->usage_mask & LOCKF_ENABLED_RECLAIM_FS) { *c5 = '-'; *c1 = get_usage_char(class, LOCK_USED_IN_HARDIRQ); *c2 = get_usage_char(class, LOCK_USED_IN_SOFTITQ); if (class->usage_mask & LOCKF_ENABLED_RECLAIM_FS_READ) *c3 = get_usage_char(class, LOCK_USED_IN_HARDIRQ_READ); *c6 = '-'; *c4 = get_usage_char(class, LOCK_USED_IN_SOFTITQ_READ); if (class->usage_mask & LOCKF_USED_IN_RECLAIM_FS_READ) { *c6 = '+'; if (class->usage_mask & LOCKF_ENABLED_RECLAIM_FS_READ) *c6 = '?'; } *c5 = get_usage_char(class, LOCK_USED_IN_RECLAIM_FS); *c6 = get_usage_char(class, LOCK_USED_IN_RECLAIM_FS_READ); } } static void print_lock_name(struct lock_class *class) static void print_lock_name(struct lock_class *class) Loading