lock_size 58 oshmem/shmem/c/shmem_lock.c static int shmem_lock_try_inform_server(void *lock, int lock_size); lock_size 66 oshmem/shmem/c/shmem_lock.c static int shmem_lock_extract_pe_next(void *lock, int lock_size, int *pe_next); lock_size 68 oshmem/shmem/c/shmem_lock.c int lock_size, lock_size 72 oshmem/shmem/c/shmem_lock.c int lock_size, lock_size 75 oshmem/shmem/c/shmem_lock.c static void shmem_lock_increment_counter(void *lock, int lock_size); lock_size 76 oshmem/shmem/c/shmem_lock.c static int shmem_lock_decrement_counter(void *lock, int lock_size); lock_size 79 oshmem/shmem/c/shmem_lock.c static int shmem_lock_is_mine(void *lock, int lock_size); lock_size 83 oshmem/shmem/c/shmem_lock.c int lock_size, lock_size 87 oshmem/shmem/c/shmem_lock.c int lock_size, lock_size 89 oshmem/shmem/c/shmem_lock.c static int shmem_lock_wait_for_informing(void *lock, int lock_size); lock_size 90 oshmem/shmem/c/shmem_lock.c static int shmem_lock_inform_next(void *lock, int lock_size, int pe_next); lock_size 186 oshmem/shmem/c/shmem_lock.c static uint64_t get_lock_value(const void *lock, int lock_size) lock_size 190 oshmem/shmem/c/shmem_lock.c if (lock_size == 4) { lock_size 192 oshmem/shmem/c/shmem_lock.c } else if (lock_size == 8) { lock_size 199 oshmem/shmem/c/shmem_lock.c static void set_lock_value(void *lock, int lock_size, uint64_t lock_value) lock_size 201 oshmem/shmem/c/shmem_lock.c if (lock_size == 8) { lock_size 203 oshmem/shmem/c/shmem_lock.c } else if (lock_size == 4) { lock_size 213 oshmem/shmem/c/shmem_lock.c static int extract_2_words(const void *lock, int lock_size, int *one, int *two) lock_size 215 oshmem/shmem/c/shmem_lock.c int lock_bitwise_size = lock_size * 8; lock_size 216 oshmem/shmem/c/shmem_lock.c uint64_t lock_value = get_lock_value(lock, lock_size); lock_size 223 oshmem/shmem/c/shmem_lock.c if (lock_size == 8) { lock_size 225 oshmem/shmem/c/shmem_lock.c } else if (lock_size == 4) { lock_size 233 oshmem/shmem/c/shmem_lock.c int lock_size, lock_size 238 oshmem/shmem/c/shmem_lock.c int lock_bitwise_size = lock_size * 8; lock_size 246 oshmem/shmem/c/shmem_lock.c set_lock_value(lock, lock_size, lock_value); lock_size 251 oshmem/shmem/c/shmem_lock.c static int extract_first_word(void *lock, int lock_size, int *one) lock_size 254 oshmem/shmem/c/shmem_lock.c return extract_2_words(lock, lock_size, one, &two); lock_size 257 oshmem/shmem/c/shmem_lock.c static int extract_second_word(void *lock, int lock_size, int *two) lock_size 260 oshmem/shmem/c/shmem_lock.c return extract_2_words(lock, lock_size, &one, two); lock_size 325 oshmem/shmem/c/shmem_lock.c int lock_size, lock_size 340 oshmem/shmem/c/shmem_lock.c lock_value = get_lock_value(lock, lock_size); lock_size 341 oshmem/shmem/c/shmem_lock.c extract_second_word(&lock_value, lock_size, &two); lock_size 342 oshmem/shmem/c/shmem_lock.c pack_2_words(&new_long_value, lock_size, one, &two); lock_size 345 oshmem/shmem/c/shmem_lock.c lock_size, lock_size 350 oshmem/shmem/c/shmem_lock.c extract_second_word(&lock_value, lock_size, &two); lock_size 351 oshmem/shmem/c/shmem_lock.c pack_2_words(&new_long_value, lock_size, one, &two); lock_size 355 oshmem/shmem/c/shmem_lock.c if (lock_size == 4) { lock_size 362 oshmem/shmem/c/shmem_lock.c pack_2_words(&new_long_value, lock_size, one, &zero); lock_size 364 oshmem/shmem/c/shmem_lock.c lock_value = get_lock_value(lock, lock_size); lock_size 367 oshmem/shmem/c/shmem_lock.c set_lock_value(lock, lock_size, lock_value); lock_size 368 oshmem/shmem/c/shmem_lock.c extract_first_word(lock, lock_size, &written_one); lock_size 376 oshmem/shmem/c/shmem_lock.c int lock_size, lock_size 391 oshmem/shmem/c/shmem_lock.c lock_value = get_lock_value(lock, lock_size); lock_size 392 oshmem/shmem/c/shmem_lock.c extract_first_word(&lock_value, lock_size, &one); lock_size 393 oshmem/shmem/c/shmem_lock.c pack_2_words(&new_long_value, lock_size, &one, two); lock_size 396 oshmem/shmem/c/shmem_lock.c lock_size, lock_size 401 oshmem/shmem/c/shmem_lock.c extract_first_word(&lock_value, lock_size, &one); lock_size 402 oshmem/shmem/c/shmem_lock.c pack_2_words(&new_long_value, lock_size, &one, two); lock_size 406 oshmem/shmem/c/shmem_lock.c if (lock_size == 4) { lock_size 413 oshmem/shmem/c/shmem_lock.c pack_2_words(&new_long_value, lock_size, &zero, two); lock_size 415 oshmem/shmem/c/shmem_lock.c lock_value = get_lock_value(lock, lock_size); lock_size 418 oshmem/shmem/c/shmem_lock.c set_lock_value(lock, lock_size, lock_value); lock_size 419 oshmem/shmem/c/shmem_lock.c extract_second_word(lock, lock_size, &written_two); lock_size 427 oshmem/shmem/c/shmem_lock.c int lock_size, lock_size 431 oshmem/shmem/c/shmem_lock.c int status = extract_2_words(lock, lock_size, counter, pe_next); lock_size 442 oshmem/shmem/c/shmem_lock.c static int shmem_lock_extract_pe_next(void *lock, int lock_size, int *pe_next) lock_size 444 oshmem/shmem/c/shmem_lock.c int status = extract_second_word(lock, lock_size, pe_next); lock_size 452 oshmem/shmem/c/shmem_lock.c static int lock_extract_pe_last(void *lock, int lock_size, int *pe_last) lock_size 454 oshmem/shmem/c/shmem_lock.c int status = extract_first_word(lock, lock_size, pe_last); lock_size 462 oshmem/shmem/c/shmem_lock.c static int lock_extract_counter(void *lock, int lock_size, int *count) lock_size 464 oshmem/shmem/c/shmem_lock.c int status = extract_first_word(lock, lock_size, count); lock_size 472 oshmem/shmem/c/shmem_lock.c int lock_size, lock_size 479 oshmem/shmem/c/shmem_lock.c return pack_2_words(lock, lock_size, &pe_last_plus_one, &pe_next_plus_one); lock_size 483 oshmem/shmem/c/shmem_lock.c int lock_size, lock_size 489 oshmem/shmem/c/shmem_lock.c return pack_2_words(lock, lock_size, counter, &pe_next_plus_one); lock_size 493 oshmem/shmem/c/shmem_lock.c int lock_size, lock_size 498 oshmem/shmem/c/shmem_lock.c return pack_second_word(lock, lock_size, &pe_next_plus_one, 1); lock_size 502 oshmem/shmem/c/shmem_lock.c int lock_size, lock_size 506 oshmem/shmem/c/shmem_lock.c return pack_first_word(lock, lock_size, counter, use_atomic); lock_size 510 oshmem/shmem/c/shmem_lock.c int lock_size, lock_size 516 oshmem/shmem/c/shmem_lock.c return pack_first_word(lock, lock_size, &pe_last_plus_one, use_atomic); lock_size 593 oshmem/shmem/c/shmem_lock.c static void shmem_lock_increment_counter(void *lock, int lock_size) lock_size 602 oshmem/shmem/c/shmem_lock.c lock_extract_counter(lock, lock_size, &counter); lock_size 604 oshmem/shmem/c/shmem_lock.c lock_pack_counter(lock, lock_size, &counter, 1); lock_size 608 oshmem/shmem/c/shmem_lock.c static int shmem_lock_decrement_counter(void *lock, int lock_size) lock_size 631 oshmem/shmem/c/shmem_lock.c lock_extract_pe_next_counter(lock, lock_size, &pe_next, &counter); lock_size 639 oshmem/shmem/c/shmem_lock.c lock_pack_counter(lock, lock_size, ¤t_lock_counter, 1); lock_size 646 oshmem/shmem/c/shmem_lock.c static int lock_get_count(void *lock, int lock_size) lock_size 659 oshmem/shmem/c/shmem_lock.c lock_extract_counter(lock, lock_size, &count); lock_size 665 oshmem/shmem/c/shmem_lock.c static int shmem_lock_is_mine(void *lock, int lock_size) lock_size 667 oshmem/shmem/c/shmem_lock.c return (lock_get_count(lock, lock_size) > 0); lock_size 697 oshmem/shmem/c/shmem_lock.c int lock_size, lock_size 714 oshmem/shmem/c/shmem_lock.c shmem_get_wrapper(&temp, lock, lock_size, 1, server_pe); lock_size 718 oshmem/shmem/c/shmem_lock.c lock_pack_pe_last(&new_server_lock, lock_size, &my_pe, 0); lock_size 721 oshmem/shmem/c/shmem_lock.c lock_size, lock_size 725 oshmem/shmem/c/shmem_lock.c lock_extract_pe_last(&server_lock, lock_size, pe_last); lock_size 735 oshmem/shmem/c/shmem_lock.c shmem_get_wrapper(&new_server_lock, lock, lock_size, 1, server_pe); lock_size 736 oshmem/shmem/c/shmem_lock.c lock_extract_pe_last(&new_server_lock, lock_size, &remote_new_pe_last); lock_size 745 oshmem/shmem/c/shmem_lock.c int lock_size, lock_size 753 oshmem/shmem/c/shmem_lock.c prev_remote_value = shmem_lock_fadd(lock, lock_size, my_pe + 1, pe_last); lock_size 762 oshmem/shmem/c/shmem_lock.c lock_size, lock_size 772 oshmem/shmem/c/shmem_lock.c lock_extract_counter(&prev_remote_value, lock_size, &remote_counter); lock_size 774 oshmem/shmem/c/shmem_lock.c lock_size, lock_size 781 oshmem/shmem/c/shmem_lock.c lock_size, lock_size 787 oshmem/shmem/c/shmem_lock.c lock_size, lock_size 790 oshmem/shmem/c/shmem_lock.c lock_size, lock_size 814 oshmem/shmem/c/shmem_lock.c static int shmem_lock_wait_for_informing(void *lock, int lock_size) lock_size 816 oshmem/shmem/c/shmem_lock.c int lock_bitwise_size = lock_size * 8; lock_size 822 oshmem/shmem/c/shmem_lock.c uint64_t prev_value = get_lock_value(lock, lock_size); lock_size 825 oshmem/shmem/c/shmem_lock.c lock_extract_counter(&prev_value, lock_size, &original_counter); lock_size 827 oshmem/shmem/c/shmem_lock.c shmem_wait_wrapper(lock, lock_size, prev_value); lock_size 828 oshmem/shmem/c/shmem_lock.c prev_value = get_lock_value(lock, lock_size); lock_size 832 oshmem/shmem/c/shmem_lock.c lock_pack_counter(lock, lock_size, &original_counter, 1); lock_size 851 oshmem/shmem/c/shmem_lock.c shmem_get_wrapper(&remote_lock, lock, lock_size, 1, prev_pe); lock_size 853 oshmem/shmem/c/shmem_lock.c lock_size, lock_size 866 oshmem/shmem/c/shmem_lock.c static int shmem_lock_inform_next(void *lock, int lock_size, int pe_next) lock_size 868 oshmem/shmem/c/shmem_lock.c int lock_bitwise_size = lock_size * 8; lock_size 873 oshmem/shmem/c/shmem_lock.c shmem_get_wrapper(&remote_value, lock, lock_size, 1, pe_next); lock_size 879 oshmem/shmem/c/shmem_lock.c lock_size, lock_size 954 oshmem/shmem/c/shmem_lock.c static int shmem_lock_try_inform_server(void *lock, int lock_size) lock_size 963 oshmem/shmem/c/shmem_lock.c lock_size, lock_size 967 oshmem/shmem/c/shmem_lock.c == shmem_lock_cswap_poll(lock, lock_size, remote_value, zero, server_pe)); lock_size 974 oshmem/shmem/c/shmem_lock.c void _shmem_set_lock(void *lock, int lock_size) lock_size 978 oshmem/shmem/c/shmem_lock.c if (!shmem_lock_is_mine(lock, lock_size)) { lock_size 979 oshmem/shmem/c/shmem_lock.c int has_lock = !_shmem_test_lock(lock, lock_size); lock_size 985 oshmem/shmem/c/shmem_lock.c shmem_lock_increment_counter(lock, lock_size); lock_size 986 oshmem/shmem/c/shmem_lock.c shmem_lock_wait_for_ticket(lock, lock_size, ticket, &pe_last); lock_size 988 oshmem/shmem/c/shmem_lock.c shmem_lock_subscribe_for_informing(lock, lock_size, pe_last); lock_size 989 oshmem/shmem/c/shmem_lock.c shmem_lock_wait_for_informing(lock, lock_size); lock_size 993 oshmem/shmem/c/shmem_lock.c shmem_lock_increment_counter(lock, lock_size); lock_size 997 oshmem/shmem/c/shmem_lock.c int _shmem_test_lock(void *lock, int lock_size) lock_size 1005 oshmem/shmem/c/shmem_lock.c int my_lock = shmem_lock_is_mine(lock, lock_size); lock_size 1007 oshmem/shmem/c/shmem_lock.c shmem_lock_increment_counter(lock, lock_size); lock_size 1010 oshmem/shmem/c/shmem_lock.c lock_size, lock_size 1017 oshmem/shmem/c/shmem_lock.c lock_size, lock_size 1026 oshmem/shmem/c/shmem_lock.c shmem_lock_decrement_counter(lock, lock_size); lock_size 1032 oshmem/shmem/c/shmem_lock.c void _shmem_clear_lock(void *lock, int lock_size) lock_size 1034 oshmem/shmem/c/shmem_lock.c int current_lock_counter = shmem_lock_decrement_counter(lock, lock_size); lock_size 1041 oshmem/shmem/c/shmem_lock.c shmem_lock_extract_pe_next(lock, lock_size, &pe_next); lock_size 1043 oshmem/shmem/c/shmem_lock.c shmem_lock_inform_next(lock, lock_size, pe_next); lock_size 1047 oshmem/shmem/c/shmem_lock.c if (!shmem_lock_try_inform_server(lock, lock_size)) { lock_size 1054 oshmem/shmem/c/shmem_lock.c shmem_lock_pack_pe_next(lock, lock_size, &pe_next); lock_size 21 oshmem/shmem/shmem_lock.h void _shmem_set_lock(void *lock, int lock_size); lock_size 22 oshmem/shmem/shmem_lock.h int _shmem_test_lock(void *lock, int lock_size); lock_size 23 oshmem/shmem/shmem_lock.h void _shmem_clear_lock(void *lock, int lock_size);