d1114ec17a
This commit adds a new class: opal_fifo.h. The new class has atomic, non-atomic, and opal_using_threads() conditoned routines. It should be used when first-in first-out is required and should perform much better than using locks and an opal_list_t. Like with opal_lifo_t there are two versions of the atomic implementation: 128-bit compare-and-swap, and spin-locked. More implementations can be added later (LL/SC comes to mind). This commit also adds a unit test for the opal_fifo_t class. This test verifies the fifo implementation when using multiple threads.
61 строка
2.0 KiB
Makefile
61 строка
2.0 KiB
Makefile
# -*- makefile -*-
|
|
#
|
|
# Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana
|
|
# University Research and Technology
|
|
# Corporation. All rights reserved.
|
|
# Copyright (c) 2004-2007 The University of Tennessee and The University
|
|
# of Tennessee Research Foundation. All rights
|
|
# reserved.
|
|
# Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
|
|
# University of Stuttgart. All rights reserved.
|
|
# Copyright (c) 2004-2005 The Regents of the University of California.
|
|
# All rights reserved.
|
|
# Copyright (c) 2014 Cisco Systems, Inc. All rights reserved.
|
|
# Copyright (c) 2014 Los Alamos National Security, LLC. All rights
|
|
# reserved.
|
|
# $COPYRIGHT$
|
|
#
|
|
# Additional copyrights may follow
|
|
#
|
|
# $HEADER$
|
|
#
|
|
|
|
# This makefile.am does not stand on its own - it is included from
|
|
# opal/Makefile.am
|
|
|
|
# Source code files
|
|
headers += \
|
|
class/opal_bitmap.h \
|
|
class/opal_free_list.h \
|
|
class/opal_hash_table.h \
|
|
class/opal_hotel.h \
|
|
class/opal_tree.h \
|
|
class/opal_list.h \
|
|
class/opal_object.h \
|
|
class/opal_graph.h\
|
|
class/opal_lifo.h \
|
|
class/opal_fifo.h \
|
|
class/opal_pointer_array.h \
|
|
class/opal_value_array.h \
|
|
class/opal_ring_buffer.h \
|
|
class/opal_rb_tree.h \
|
|
class/ompi_free_list.h
|
|
|
|
lib@OPAL_LIB_PREFIX@open_pal_la_SOURCES += \
|
|
class/opal_bitmap.c \
|
|
class/opal_free_list.c \
|
|
class/opal_hash_table.c \
|
|
class/opal_hotel.c \
|
|
class/opal_tree.c \
|
|
class/opal_list.c \
|
|
class/opal_object.c \
|
|
class/opal_graph.c\
|
|
class/opal_lifo.c \
|
|
class/opal_fifo.c \
|
|
class/opal_pointer_array.c \
|
|
class/opal_value_array.c \
|
|
class/opal_ring_buffer.c \
|
|
class/opal_rb_tree.c \
|
|
class/ompi_free_list.c
|
|
|