1. 29 7月, 2020 39 次提交
  2. 28 7月, 2020 1 次提交
    • J
      net/mlx5: drop unnecessary list_empty · 22f9d2f4
      Julia Lawall 提交于
      list_for_each_entry is able to handle an empty list.
      The only effect of avoiding the loop is not initializing the
      index variable.
      Drop list_empty tests in cases where these variables are not
      used.
      
      Note that list_for_each_entry is defined in terms of list_first_entry,
      which indicates that it should not be used on an empty list.  But in
      list_for_each_entry, the element obtained by list_first_entry is not
      really accessed, only the address of its list_head field is compared
      to the address of the list head, so the list_first_entry is safe.
      
      The semantic patch that makes this change is as follows (with another
      variant for the no brace case): (http://coccinelle.lip6.fr/)
      
      <smpl>
      @@
      expression x,e;
      iterator name list_for_each_entry;
      statement S;
      identifier i;
      @@
      
      -if (!(list_empty(x))) {
         list_for_each_entry(i,x,...) S
      - }
       ... when != i
      ? i = e
      </smpl>
      Signed-off-by: NJulia Lawall <Julia.Lawall@inria.fr>
      Signed-off-by: NSaeed Mahameed <saeedm@mellanox.com>
      22f9d2f4