瀏覽代碼

fix coverity warnings

Samuel Thibault 9 年之前
父節點
當前提交
073f30fd18

+ 1 - 1
src/core/jobs.c

@@ -431,7 +431,7 @@ void _starpu_handle_job_termination(struct _starpu_job *j)
 	{
 		_starpu_sched_post_exec_hook(task);
 #ifdef STARPU_USE_SC_HYPERVISOR
-		int workerid = starpu_worker_get_id();
+		int workerid = starpu_worker_get_id_check();
 		_starpu_sched_ctx_post_exec_task_cb(workerid, task, data_size, j->footprint);
 #endif //STARPU_USE_SC_HYPERVISOR
 

+ 1 - 1
src/core/sched_policy.c

@@ -919,7 +919,7 @@ pick:
 	 * This way, we avoid computing and executing the conversions tasks.
 	 * Here, we do not care about what implementation is used.
 	 */
-	worker_id = starpu_worker_get_id();
+	worker_id = starpu_worker_get_id_check();
 	if (!starpu_worker_can_execute_task_first_impl(worker_id, task, NULL))
 		return task;
 

+ 3 - 3
src/datawizard/coherency.c

@@ -314,7 +314,7 @@ static int link_supports_direct_transfers(starpu_data_handle_t handle, unsigned
  * and the max_len is the maximum number of hops (ie. the size of the
  * src_nodes, dst_nodes and handling_nodes arrays. */
 static int determine_request_path(starpu_data_handle_t handle,
-				  unsigned src_node, unsigned dst_node,
+				  int src_node, int dst_node,
 				  enum starpu_data_access_mode mode, int max_len,
 				  unsigned *src_nodes, unsigned *dst_nodes,
 				  unsigned *handling_nodes, unsigned write_invalidation)
@@ -923,7 +923,7 @@ int _starpu_fetch_task_input(struct _starpu_job *j)
 
 	unsigned local_memory_node = _starpu_memory_node_get_local_key();
 
-	int workerid = starpu_worker_get_id();
+	int workerid = starpu_worker_get_id_check();
 
 #ifdef STARPU_USE_FXT
 	unsigned long total_size = 0;
@@ -1034,7 +1034,7 @@ void __starpu_push_task_output(struct _starpu_job *j)
         struct _starpu_data_descr *descrs = _STARPU_JOB_GET_ORDERED_BUFFERS(j);
         unsigned nbuffers = STARPU_TASK_GET_NBUFFERS(task);
 
-	int workerid = starpu_worker_get_id();
+	int workerid = starpu_worker_get_id_check();
 	unsigned local_memory_node = _starpu_memory_node_get_local_key();
 
 	unsigned index;

+ 1 - 1
src/datawizard/copy_driver.c

@@ -141,7 +141,7 @@ static int copy_data_1_to_1_generic(starpu_data_handle_t handle,
 		if ((src_kind == STARPU_CUDA_RAM) && (dst_kind == STARPU_CUDA_RAM))
 		{
 			/* GPU-GPU transfer, issue it from the device we are supposed to drive */
-			int worker = starpu_worker_get_id();
+			int worker = starpu_worker_get_id_check();
 			devid = starpu_worker_get_devid(worker);
 		}
 		else

+ 3 - 0
src/debug/traces/starpu_fxt.c

@@ -935,7 +935,10 @@ static void handle_worker_init_end(struct fxt_ev_64 *ev, struct starpu_fxt_optio
 	int worker;
 
 	if (ev->nb_params < 2)
+	{
 		worker = find_worker_id(ev->param[0]);
+		STARPU_ASSERT(worker >= 0);
+	}
 	else
 		worker = ev->param[1];
 

+ 2 - 1
src/debug/traces/starpu_fxt_mpi.c

@@ -1,6 +1,6 @@
 /* StarPU --- Runtime system for heterogeneous multicore architectures.
  *
- * Copyright (C) 2012-2013  Université Bordeaux
+ * Copyright (C) 2012-2013, 2016  Université Bordeaux
  * Copyright (C) 2010, 2011, 2014  CNRS
  *
  * StarPU is free software; you can redistribute it and/or modify
@@ -118,6 +118,7 @@ unsigned mpi_recvs_matched[64] = {0};
 
 void _starpu_fxt_mpi_add_send_transfer(int src, int dst STARPU_ATTRIBUTE_UNUSED, int mpi_tag, size_t size, float date)
 {
+	STARPU_ASSERT(src >= 0);
 	unsigned slot = mpi_sends_used[src]++;
 
 	if (mpi_sends_used[src] > mpi_sends_list_size[src])

+ 5 - 5
src/drivers/cuda/driver_cuda.c

@@ -1,6 +1,6 @@
 /* StarPU --- Runtime system for heterogeneous multicore architectures.
  *
- * Copyright (C) 2009-2015  Université de Bordeaux
+ * Copyright (C) 2009-2016  Université de Bordeaux
  * Copyright (C) 2010  Mehdi Juhoor <mjuhoor@gmail.com>
  * Copyright (C) 2010, 2011, 2012, 2013, 2014  CNRS
  * Copyright (C) 2011  Télécom-SudParis
@@ -138,7 +138,7 @@ static void _starpu_cuda_limit_gpu_mem_if_needed(unsigned devid)
 #ifdef STARPU_USE_CUDA
 cudaStream_t starpu_cuda_get_local_in_transfer_stream()
 {
-	int worker = starpu_worker_get_id();
+	int worker = starpu_worker_get_id_check();
 	int devid = starpu_worker_get_devid(worker);
 	cudaStream_t stream;
 
@@ -149,7 +149,7 @@ cudaStream_t starpu_cuda_get_local_in_transfer_stream()
 
 cudaStream_t starpu_cuda_get_local_out_transfer_stream()
 {
-	int worker = starpu_worker_get_id();
+	int worker = starpu_worker_get_id_check();
 	int devid = starpu_worker_get_devid(worker);
 	cudaStream_t stream;
 
@@ -160,7 +160,7 @@ cudaStream_t starpu_cuda_get_local_out_transfer_stream()
 
 cudaStream_t starpu_cuda_get_peer_transfer_stream(unsigned src_node, unsigned dst_node)
 {
-	int worker = starpu_worker_get_id();
+	int worker = starpu_worker_get_id_check();
 	int devid = starpu_worker_get_devid(worker);
 	int src_devid = _starpu_memory_node_get_devid(src_node);
 	int dst_devid = _starpu_memory_node_get_devid(dst_node);
@@ -178,7 +178,7 @@ cudaStream_t starpu_cuda_get_peer_transfer_stream(unsigned src_node, unsigned ds
 
 cudaStream_t starpu_cuda_get_local_stream(void)
 {
-	int worker = starpu_worker_get_id();
+	int worker = starpu_worker_get_id_check();
 
 	return streams[worker];
 }

+ 1 - 1
src/util/starpu_clusters_create.c

@@ -50,7 +50,7 @@ void starpu_openmp_prologue(void *sched_ctx_id)
 	int sched_ctx = *(int*)sched_ctx_id;
 	int *cpuids = NULL;
 	int ncpuids = 0;
-	int workerid = starpu_worker_get_id();
+	int workerid = starpu_worker_get_id_check();
 
 	if (starpu_worker_get_type(workerid) == STARPU_CPU_WORKER)
 	{

+ 2 - 2
src/util/starpu_data_cpy.c

@@ -1,6 +1,6 @@
 /* StarPU --- Runtime system for heterogeneous multicore architectures.
  *
- * Copyright (C) 2010, 2012-2013, 2015  Université de Bordeaux
+ * Copyright (C) 2010, 2012-2013, 2015-2016  Université de Bordeaux
  *
  * StarPU is free software; you can redistribute it and/or modify
  * it under the terms of the GNU Lesser General Public License as published by
@@ -29,7 +29,7 @@ static void common_data_cpy_func(void *descr[], void *cl_arg)
 	const struct starpu_data_interface_ops *interface_ops = _starpu_data_interface_get_ops(interface_id);
 	const struct starpu_data_copy_methods *copy_methods = interface_ops->copy_methods;
 
-	int workerid = starpu_worker_get_id();
+	int workerid = starpu_worker_get_id_check();
 	enum starpu_worker_archtype type = starpu_worker_get_type(workerid);
 	unsigned memory_node = starpu_worker_get_memory_node(workerid);