diff --git a/doc/Makefile b/doc/Makefile index c89adc792d338873cc6e7bd66c5bd9a73021d55a..051b840576cc2ca1fd1434ca82570524f107d03d 100644 --- a/doc/Makefile +++ b/doc/Makefile @@ -101,7 +101,7 @@ MANPAGES_3_MD_PMEM2 = libpmem2/pmem2_errormsg.3.md libpmem2/pmem2_config_new.3.m libpmem2/pmem2_config_set_length.3.md libpmem2/pmem2_config_set_offset.3.md \ libpmem2/pmem2_map_get_store_granularity.3.md libpmem2/pmem2_get_flush_fn.3.md \ libpmem2/pmem2_get_drain_fn.3.md libpmem2/pmem2_get_persist_fn.3.md \ - libpmem2/pmem2_perror.3.md libpmem2/pmem2_get_memmove_fn.3.md libpmem2/pmem2_async.3.md \ + libpmem2/pmem2_perror.3.md libpmem2/pmem2_get_memmove_fn.3.md libpmem2/pmem2_async.3.md\ libpmem2/pmem2_config_set_sharing.3.md libpmem2/pmem2_config_set_vm_reservation.3.md libpmem2/pmem2_vm_reservation_new.3.md \ libpmem2/pmem2_vm_reservation_get_address.3.md libpmem2/pmem2_vm_reservation_get_size.3.md \ libpmem2/pmem2_badblock_context_new.3.md libpmem2/pmem2_badblock_next.3.md \ diff --git a/doc/libpmem2/pmem2_memcpy_async.3.md b/doc/libpmem2/pmem2_async.3.md similarity index 50% rename from doc/libpmem2/pmem2_memcpy_async.3.md rename to doc/libpmem2/pmem2_async.3.md index 050813bca51f761574a5118f1f5618faaab14b65..d7f1e654fbd4bb9718d19b0d1f933015650c5dda 100644 --- a/doc/libpmem2/pmem2_memcpy_async.3.md +++ b/doc/libpmem2/pmem2_async.3.md @@ -1,7 +1,7 @@ --- layout: manual Content-Style: 'text/css' -title: _MP(PMEM2_MEMCPY_ASYNC, 3) +title: _MP(PMEM2_ASYNC, 3) collection: libpmem2 header: PMDK date: pmem2 API version 1.0 @@ -10,7 +10,7 @@ date: pmem2 API version 1.0 [comment]: <> (SPDX-License-Identifier: BSD-3-Clause [comment]: <> (Copyright 2022, Intel Corporation) -[comment]: <> (pmem2_memcpy_async.3 -- man page for pmem2_memcpy_async) +[comment]: <> (pmem2_async.3 -- man page for pmem2_async operations) [NAME](#name)<br /> [SYNOPSIS](#synopsis)<br /> @@ -19,7 +19,7 @@ date: pmem2 API version 1.0 [SEE ALSO](#see-also)<br /> # NAME # -**pmem2_config_set_vdm**(), **pmem2_memcpy_async**() - asynchronous data movement operations +**pmem2_config_set_vdm**(), **pmem2_memcpy_async**(), **pmem2_memmove_async**(), **pmem2_memset_async**() - asynchronous data movement operations # SYNOPSIS # @@ -30,6 +30,13 @@ int pmem2_config_set_vdm(struct pmem2_config *cfg, struct vdm *vdm); struct vdm_operation_future pmem2_memcpy_async(struct pmem2_map *map, void *pmemdest, const void *src, size_t len, unsigned flags); + +pmem2_memmove_async(struct pmem2_map *map, void *pmemdest, const void *src, + size_t len, unsigned flags) + +struct vdm_operation_future pmem2_memset_async(struct pmem2_map *map, + void *pmemstr, int c, size_t n, unsigned flags) +{ ``` # DESCRIPTION # @@ -37,19 +44,29 @@ To use those functions, you must have *libminiasync* installed. Those functions and vdm (virtual data mover) concepts from this library. Please check **miniasync**(7) for more details. The **pmem2_config_set_vdm** sets a vdm structure in the *pmem2_config*. -This structure will be used by pmem2_memcpy_async function, to create a *vdm_operation_future*. +This structure will be used by pmem2_*_async functions, to create a *vdm_operation_future*. If vdm is not set in the config, pmem2_map_new will use a default one which uses a pmem2 memory movement functions to perform memory operations. (**pmem2_get_memcpy_fn**(3), **pmem2_get_memmove_fn**(3), **pmem2_get_memsety_fn**(3)). -The **pmem2_memcpy_async** uses *vdm* structure held inside of the *pmem2_map* structure to initialise and return **vdm_operation_future**. -This future will perform memcpy operation from *vdm* to copy *len* bytes from *src* to *pmemdest*. In the current implementation *flags* are ignored. +The **pmem2_memcpy_async** uses *vdm* structure held inside the *pmem2_map* structure to initialise and returns **vdm_operation_future**. +This future will perform memcpy operation defined in *vdm* to copy *len* bytes from *src* to *pmemdest*. In the current implementation *flags* are ignored. -# RETURN VALUE # +The **pmem2_memmove_async** returns **vdm_operation_future** which +will perform memmove operation defined in *vdm* to copy *len* bytes from *src* to *pmemdest*. In the current implementation *flags* are ignored. + +The **pmem2_memmset_async** returns **vdm_operation_future** which +will perform memset operation defined in *vdm* to fill *n* bytes from *pmemstr* with value of int *c* interpreted as unsigned char. +In the current implementation *flags* are ignored. +# RETURN VALUE # The **pmem2_config_set_vdm** always return 0. -The **pmem2_memcpy_async** returns a new instance of **vdm_operation_future** which will copy *len* bytes from *src* to *pmemdest*. -You can execute returned structure using methods from the **libminiasync**() library. +The **pmem2_memcpy_async** returns a new instance of **vdm_operation_future** performing memcpy operation. +You can execute returned structure using methods from the **libminiasync**() library such as **FUTURE_BUSY_POLL**(3). + +The **pmem2_memmove_async** returns a new instance of **vdm_operation_future** performing memmove operation. + +The **pmem2_memset_async** returns a new instance of **vdm_operation_future** performing memset operation. # SEE ALSO # diff --git a/doc/libpmem2/pmem2_config_set_vdm.3 b/doc/libpmem2/pmem2_config_set_vdm.3 index 8e81274f85cd1576b8bc70188ae53d6c0d5fa9cd..3fd41779c0b6e0dd305488e88ca6c164074c920e 100644 --- a/doc/libpmem2/pmem2_config_set_vdm.3 +++ b/doc/libpmem2/pmem2_config_set_vdm.3 @@ -1 +1 @@ -.so pmem2_memcpy_async.3 +.so pmem2_async.3 diff --git a/doc/libpmem2/pmem2_memcpy_async.3 b/doc/libpmem2/pmem2_memcpy_async.3 new file mode 100644 index 0000000000000000000000000000000000000000..3fd41779c0b6e0dd305488e88ca6c164074c920e --- /dev/null +++ b/doc/libpmem2/pmem2_memcpy_async.3 @@ -0,0 +1 @@ +.so pmem2_async.3 diff --git a/doc/libpmem2/pmem2_memmove_async.3 b/doc/libpmem2/pmem2_memmove_async.3 new file mode 100644 index 0000000000000000000000000000000000000000..3fd41779c0b6e0dd305488e88ca6c164074c920e --- /dev/null +++ b/doc/libpmem2/pmem2_memmove_async.3 @@ -0,0 +1 @@ +.so pmem2_async.3 diff --git a/doc/libpmem2/pmem2_memset_async.3 b/doc/libpmem2/pmem2_memset_async.3 new file mode 100644 index 0000000000000000000000000000000000000000..3fd41779c0b6e0dd305488e88ca6c164074c920e --- /dev/null +++ b/doc/libpmem2/pmem2_memset_async.3 @@ -0,0 +1 @@ +.so pmem2_async.3