thread-pool: clean up thread_pool_completion_bh()
This patch simplifies thread_pool_completion_bh().
The function first checks elem->state:
  if (elem->state != THREAD_DONE) {
      continue;
  }
It then goes on to check elem->state == THREAD_DONE although we already
know this must be the case.
The QLIST_REMOVE() is duplicated down both branches of an if-else
statement so that can be lifted out as well.
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Reviewed-by: Paolo Bonzini <pbonzini@redhat.com>
Message-id: 1427992762-10126-1-git-send-email-stefanha@redhat.com
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
			
			
This commit is contained in:
		
							parent
							
								
									d1a126c53d
								
							
						
					
					
						commit
						1faa5bb732
					
				| 
						 | 
				
			
			@ -170,12 +170,12 @@ restart:
 | 
			
		|||
        if (elem->state != THREAD_DONE) {
 | 
			
		||||
            continue;
 | 
			
		||||
        }
 | 
			
		||||
        if (elem->state == THREAD_DONE) {
 | 
			
		||||
            trace_thread_pool_complete(pool, elem, elem->common.opaque,
 | 
			
		||||
                                       elem->ret);
 | 
			
		||||
        }
 | 
			
		||||
        if (elem->state == THREAD_DONE && elem->common.cb) {
 | 
			
		||||
            QLIST_REMOVE(elem, all);
 | 
			
		||||
 | 
			
		||||
        trace_thread_pool_complete(pool, elem, elem->common.opaque,
 | 
			
		||||
                                   elem->ret);
 | 
			
		||||
        QLIST_REMOVE(elem, all);
 | 
			
		||||
 | 
			
		||||
        if (elem->common.cb) {
 | 
			
		||||
            /* Read state before ret.  */
 | 
			
		||||
            smp_rmb();
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -188,8 +188,6 @@ restart:
 | 
			
		|||
            qemu_aio_unref(elem);
 | 
			
		||||
            goto restart;
 | 
			
		||||
        } else {
 | 
			
		||||
            /* remove the request */
 | 
			
		||||
            QLIST_REMOVE(elem, all);
 | 
			
		||||
            qemu_aio_unref(elem);
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue