2
0
mirror of https://github.com/openssl/openssl.git synced 2024-12-15 06:01:37 +08:00
openssl/util/platform_symbols/unix-symbols.txt

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

160 lines
1.7 KiB
Plaintext
Raw Normal View History

abort
accept
Introduce new internal hashtable implementation Create a new hashtable that is more efficient than the existing LHASH_OF implementation. the new ossl_ht api offers several new features that improve performance opportunistically * A more generalized hash function. Currently using fnv1a, provides a more general hash function, but can still be overridden where needed * Improved locking and reference counting. This hash table is internally locked with an RCU lock, and optionally reference counts elements, allowing for users to not have to create and manage their own read/write locks * Lockless operation. The hash table can be configured to operate locklessly on the read side, improving performance, at the sacrifice of the ability to grow the hash table or delete elements from it * A filter function allowing for the retrieval of several elements at a time matching a given criteria without having to hold a lock permanently * a doall_until iterator variant, that allows callers which need to iterate over the entire hash table until a given condition is met (as defined by the return value of the iterator callback). This allows for callers attempting to do expensive cache searches for a small number of elements to terminate the iteration early, saving cpu cycles * Dynamic type safety. The hash table provides operations to set and get data of a specific type without having to define a type at the instatiation point * Multiple data type storage. The hash table can store multiple data types allowing for more flexible usage * Ubsan safety. Because the API deals with concrete single types (HT_KEY and HT_VALUE), leaving specific type casting to the call recipient with dynamic type validation, this implementation is safe from the ubsan undefined behavior warnings that require additional thunking on callbacks. Testing of this new hashtable with an equivalent hash function, I can observe approximately a 6% performance improvement in the lhash_test Reviewed-by: Tomas Mraz <tomas@openssl.org> Reviewed-by: Paul Dale <pauli@openssl.org> (Merged from https://github.com/openssl/openssl/pull/23671)
2024-01-28 23:50:38 +08:00
aligned_alloc
bcmp
bind
calloc
chmod
clearerr
clock_gettime
close
closedir
closelog
connect
__ctype_b_loc
__ctype_tolower_loc
__cxa_atexit
__cxa_finalize
dladdr
dlclose
dlerror
dlopen
dlsym
__errno_location
fclose
fdopen
feof
ferror
fflush
fgets
fileno
fopen
fopen64
fprintf
fputc
fputs
fread
free
freeaddrinfo
fseek
fstat
ftell
fwrite
gai_strerror
getaddrinfo
getauxval
getcontext
getentropy
getenv
gethostbyname
getnameinfo
getpeername
getpid
getsockname
getsockopt
gettimeofday
__gmon_start__
gmtime_r
gmtime
ioctl
__isoc99_sscanf
_ITM_deregisterTMCloneTable
_ITM_registerTMCloneTable
listen
_longjmp
lseek
madvise
makecontext
malloc
memchr
memcmp
memcpy
memmove
memset
mktime
mlock
mmap
mprotect
munmap
nanosleep
opendir
openlog
poll
Introduce new internal hashtable implementation Create a new hashtable that is more efficient than the existing LHASH_OF implementation. the new ossl_ht api offers several new features that improve performance opportunistically * A more generalized hash function. Currently using fnv1a, provides a more general hash function, but can still be overridden where needed * Improved locking and reference counting. This hash table is internally locked with an RCU lock, and optionally reference counts elements, allowing for users to not have to create and manage their own read/write locks * Lockless operation. The hash table can be configured to operate locklessly on the read side, improving performance, at the sacrifice of the ability to grow the hash table or delete elements from it * A filter function allowing for the retrieval of several elements at a time matching a given criteria without having to hold a lock permanently * a doall_until iterator variant, that allows callers which need to iterate over the entire hash table until a given condition is met (as defined by the return value of the iterator callback). This allows for callers attempting to do expensive cache searches for a small number of elements to terminate the iteration early, saving cpu cycles * Dynamic type safety. The hash table provides operations to set and get data of a specific type without having to define a type at the instatiation point * Multiple data type storage. The hash table can store multiple data types allowing for more flexible usage * Ubsan safety. Because the API deals with concrete single types (HT_KEY and HT_VALUE), leaving specific type casting to the call recipient with dynamic type validation, this implementation is safe from the ubsan undefined behavior warnings that require additional thunking on callbacks. Testing of this new hashtable with an equivalent hash function, I can observe approximately a 6% performance improvement in the lhash_test Reviewed-by: Tomas Mraz <tomas@openssl.org> Reviewed-by: Paul Dale <pauli@openssl.org> (Merged from https://github.com/openssl/openssl/pull/23671)
2024-01-28 23:50:38 +08:00
posix_memalign
pthread_attr_destroy
pthread_attr_init
pthread_attr_setdetachstate
pthread_cond_broadcast
pthread_cond_destroy
pthread_cond_init
pthread_cond_signal
pthread_cond_timedwait
pthread_cond_wait
pthread_create
pthread_exit
pthread_getspecific
pthread_join
pthread_key_create
pthread_key_delete
pthread_mutex_destroy
pthread_mutex_init
pthread_mutex_lock
pthread_mutex_trylock
pthread_mutex_unlock
pthread_once
pthread_rwlock_destroy
pthread_rwlock_init
pthread_rwlock_rdlock
pthread_rwlock_unlock
pthread_rwlock_wrlock
pthread_self
pthread_setspecific
qsort
readdir
realloc
recvfrom
recvmmsg
secure_getenv
select
sendmmsg
sendto
setbuf
setcontext
_setjmp
setsockopt
shmat
shmdt
shmget
shutdown
sigaction
sleep
socket
sprintf
stderr
stdin
stdout
strcat
strchr
strcmp
strcpy
strcspn
strdup
strlen
strncmp
strncpy
strrchr
strspn
strstr
strtol
strtoul
syscall
sysconf
syslog
tcgetattr
tcsetattr
__timezone
uname
usleep
vfprintf
__xpg_strerror_r