Re: [PATCH v2 01/19] locking/lockdep: Change all print_*() return type to void

2019-03-19 Thread Bart Van Assche
On Mon, 2019-03-18 at 02:45 -0700, Joe Perches wrote:
> > -static void
> > -print_circular_lock_scenario(struct held_lock *src,
> > -struct held_lock *tgt,
> > -struct lock_list *prt)
> > +static void print_circular_lock_scenario(struct held_lock *src,
> > +struct held_lock *tgt,
> > +struct lock_list *prt)
> 
> trivia:
> 
> This style change seems superfluous as many
> other existing functions use the previous style.

I share Joe's opinion. 

Bart.


Re: [PATCH v2 01/19] locking/lockdep: Change all print_*() return type to void

2019-03-18 Thread Yuyang Du
Thanks for the review.

On Mon, 18 Mar 2019 at 17:45, Joe Perches  wrote:
>
> On Mon, 2019-03-18 at 16:57 +0800, Yuyang Du wrote:
> > Since none of the print_*() function's return value is necessary, change
> > their return type to void. No functional change.
> >
> > In cases where an invariable return value is used, this change slightly
> > improves readability, i.e.:
> []
> > diff --git a/kernel/locking/lockdep.c b/kernel/locking/lockdep.c
> []
> > @@ -1430,23 +1430,20 @@ static inline int __bfs_backwards(struct lock_list 
> > *src_entry,
> []
> > -static void
> > -print_circular_lock_scenario(struct held_lock *src,
> > -  struct held_lock *tgt,
> > -  struct lock_list *prt)
> > +static void print_circular_lock_scenario(struct held_lock *src,
> > +  struct held_lock *tgt,
> > +  struct lock_list *prt)
>
> trivia:
>
> This style change seems superfluous as many
> other existing functions use the previous style.

Those "many other" are kind of bizarre already in the context of that
file IMHO. So the change went to great lengths in #05 :)


Re: [PATCH v2 01/19] locking/lockdep: Change all print_*() return type to void

2019-03-18 Thread Joe Perches
On Mon, 2019-03-18 at 16:57 +0800, Yuyang Du wrote:
> Since none of the print_*() function's return value is necessary, change
> their return type to void. No functional change.
> 
> In cases where an invariable return value is used, this change slightly
> improves readability, i.e.:
[]
> diff --git a/kernel/locking/lockdep.c b/kernel/locking/lockdep.c
[]
> @@ -1430,23 +1430,20 @@ static inline int __bfs_backwards(struct lock_list 
> *src_entry,
[]
> -static void
> -print_circular_lock_scenario(struct held_lock *src,
> -  struct held_lock *tgt,
> -  struct lock_list *prt)
> +static void print_circular_lock_scenario(struct held_lock *src,
> +  struct held_lock *tgt,
> +  struct lock_list *prt)

trivia:

This style change seems superfluous as many
other existing functions use the previous style.




[PATCH v2 01/19] locking/lockdep: Change all print_*() return type to void

2019-03-18 Thread Yuyang Du
Since none of the print_*() function's return value is necessary, change
their return type to void. No functional change.

In cases where an invariable return value is used, this change slightly
improves readability, i.e.:

print_x();
return 0;

is definitely better than:

return print_x(); /* where print_x() always returns 0 */

Signed-off-by: Yuyang Du 
---
 kernel/locking/lockdep.c | 222 ---
 1 file changed, 112 insertions(+), 110 deletions(-)

diff --git a/kernel/locking/lockdep.c b/kernel/locking/lockdep.c
index 34cdcbe..1c5e947 100644
--- a/kernel/locking/lockdep.c
+++ b/kernel/locking/lockdep.c
@@ -1430,23 +1430,20 @@ static inline int __bfs_backwards(struct lock_list 
*src_entry,
  * Print a dependency chain entry (this is only done when a deadlock
  * has been detected):
  */
-static noinline int
+static noinline void
 print_circular_bug_entry(struct lock_list *target, int depth)
 {
if (debug_locks_silent)
-   return 0;
+   return;
printk("\n-> #%u", depth);
print_lock_name(target->class);
printk(KERN_CONT ":\n");
print_stack_trace(>trace, 6);
-
-   return 0;
 }
 
-static void
-print_circular_lock_scenario(struct held_lock *src,
-struct held_lock *tgt,
-struct lock_list *prt)
+static void print_circular_lock_scenario(struct held_lock *src,
+struct held_lock *tgt,
+struct lock_list *prt)
 {
struct lock_class *source = hlock_class(src);
struct lock_class *target = hlock_class(tgt);
@@ -1497,7 +1494,7 @@ static inline int __bfs_backwards(struct lock_list 
*src_entry,
  * When a circular dependency is detected, print the
  * header first:
  */
-static noinline int
+static noinline void
 print_circular_bug_header(struct lock_list *entry, unsigned int depth,
struct held_lock *check_src,
struct held_lock *check_tgt)
@@ -1505,7 +1502,7 @@ static inline int __bfs_backwards(struct lock_list 
*src_entry,
struct task_struct *curr = current;
 
if (debug_locks_silent)
-   return 0;
+   return;
 
pr_warn("\n");
pr_warn("==\n");
@@ -1523,8 +1520,6 @@ static inline int __bfs_backwards(struct lock_list 
*src_entry,
pr_warn("\nthe existing dependency chain (in reverse order) is:\n");
 
print_circular_bug_entry(entry, depth);
-
-   return 0;
 }
 
 static inline int class_equal(struct lock_list *entry, void *data)
@@ -1532,11 +1527,11 @@ static inline int class_equal(struct lock_list *entry, 
void *data)
return entry->class == data;
 }
 
-static noinline int print_circular_bug(struct lock_list *this,
-   struct lock_list *target,
-   struct held_lock *check_src,
-   struct held_lock *check_tgt,
-   struct stack_trace *trace)
+static noinline void print_circular_bug(struct lock_list *this,
+   struct lock_list *target,
+   struct held_lock *check_src,
+   struct held_lock *check_tgt,
+   struct stack_trace *trace)
 {
struct task_struct *curr = current;
struct lock_list *parent;
@@ -1544,10 +1539,10 @@ static noinline int print_circular_bug(struct lock_list 
*this,
int depth;
 
if (!debug_locks_off_graph_unlock() || debug_locks_silent)
-   return 0;
+   return;
 
if (!save_trace(>trace))
-   return 0;
+   return;
 
depth = get_lock_depth(target);
 
@@ -1569,21 +1564,17 @@ static noinline int print_circular_bug(struct lock_list 
*this,
 
printk("\nstack backtrace:\n");
dump_stack();
-
-   return 0;
 }
 
-static noinline int print_bfs_bug(int ret)
+static noinline void print_bfs_bug(int ret)
 {
if (!debug_locks_off_graph_unlock())
-   return 0;
+   return;
 
/*
 * Breadth-first-search failed, graph got corrupted?
 */
WARN(1, "lockdep bfs error:%d\n", ret);
-
-   return 0;
 }
 
 static int noop_count(struct lock_list *entry, void *data)
@@ -1766,7 +1757,7 @@ static void print_lock_class_header(struct lock_class 
*class, int depth)
  */
 static void __used
 print_shortest_lock_dependencies(struct lock_list *leaf,
-   struct lock_list *root)
+struct lock_list *root)
 {
struct lock_list *entry = leaf;
int depth;
@@ -1788,8 +1779,6 @@ static void print_lock_class_header(struct lock_class 
*class, int depth)
entry = get_lock_parent(entry);