|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [UNIKRAFT PATCH v3 5/5] lib/ukring: Register ukring with Unikraft
Thanks for the help and review. :)
On 23.07.20, 15:35, "Minios-devel on behalf of Costin Lupu"
<minios-devel-bounces@xxxxxxxxxxxxxxxxxxxx on behalf of costin.lupu@xxxxxxxxx>
wrote:
Hi Alexander,
I'm gonna drop both LIBUKRING_CACHE_LINE_SIZE and
CONFIG_LIBUKRING_DEBUG_BUFRING on upstreaming.
Reviewed-by: Costin Lupu <costin.lupu@xxxxxxxxx>
On 7/23/20 3:49 PM, Alexander Jung wrote:
> This commit registers the ring buffer implementation micro-library
> with Unikraft by including it in the global library list, exports
> the ring buffer's main functions and includes the relevant initial
> Makefile.uk and Config.uk library files.
>
> Signed-off-by: Alexander Jung <alexander.jung@xxxxxxxxx>
> ---
> lib/Makefile.uk | 1 +
> lib/ukring/Config.uk | 23 +++++++++++++++++++++++
> lib/ukring/Makefile.uk | 6 ++++++
> lib/ukring/exportsyms.uk | 12 ++++++++++++
> 4 files changed, 42 insertions(+)
> create mode 100644 lib/ukring/Config.uk
> create mode 100644 lib/ukring/Makefile.uk
> create mode 100644 lib/ukring/exportsyms.uk
>
> diff --git a/lib/Makefile.uk b/lib/Makefile.uk
> index 360fcd8..4fd222d 100644
> --- a/lib/Makefile.uk
> +++ b/lib/Makefile.uk
> @@ -25,6 +25,7 @@ $(eval $(call _import_lib,$(CONFIG_UK_BASE)/lib/devfs))
> $(eval $(call _import_lib,$(CONFIG_UK_BASE)/lib/9pfs))
> $(eval $(call _import_lib,$(CONFIG_UK_BASE)/lib/uklock))
> $(eval $(call _import_lib,$(CONFIG_UK_BASE)/lib/ukmpi))
> +$(eval $(call _import_lib,$(CONFIG_UK_BASE)/lib/ukring))
> $(eval $(call _import_lib,$(CONFIG_UK_BASE)/lib/ukbus))
> $(eval $(call _import_lib,$(CONFIG_UK_BASE)/lib/uksglist))
> $(eval $(call _import_lib,$(CONFIG_UK_BASE)/lib/uknetdev))
> diff --git a/lib/ukring/Config.uk b/lib/ukring/Config.uk
> new file mode 100644
> index 0000000..2481c62
> --- /dev/null
> +++ b/lib/ukring/Config.uk
> @@ -0,0 +1,23 @@
> +menuconfig LIBUKRING
> + bool "ukring: Ring buffer interface"
> + select LIBUKALLOC
> + select LIBUKLOCK
> + default n
> + help
> + Provide ring interface for handling object references.
> +
> +if LIBUKRING
> +
> +config LIBUKRING_CACHE_LINE_SIZE
> + int "Cache line size"
> + default 32
> + help
> + Size in bytes of a CPU d-cache line.
> +
> +config CONFIG_LIBUKRING_DEBUG_BUFRING
> + bool "Debug the ring interface"
> + default n
> + help
> + When debugging, this library stores some per-ring statistic counters
about the number of enqueues/dequeues. These statistics require a mutex to
avoid concurrent accesses or atomic operations.
> +
> +endif
> diff --git a/lib/ukring/Makefile.uk b/lib/ukring/Makefile.uk
> new file mode 100644
> index 0000000..7874ca2
> --- /dev/null
> +++ b/lib/ukring/Makefile.uk
> @@ -0,0 +1,6 @@
> +$(eval $(call addlib_s,libukring,$(CONFIG_LIBUKRING)))
> +
> +CINCLUDES-$(CONFIG_LIBUKRING) += -I$(LIBUKRING_BASE)/include
> +CXXINCLUDES-$(CONFIG_LIBUKRING) += -I$(LIBUKRING_BASE)/include
> +
> +LIBUKRING_SRCS-y += $(LIBUKRING_BASE)/ring.c
> diff --git a/lib/ukring/exportsyms.uk b/lib/ukring/exportsyms.uk
> new file mode 100644
> index 0000000..098f25a
> --- /dev/null
> +++ b/lib/ukring/exportsyms.uk
> @@ -0,0 +1,12 @@
> +uk_ring_alloc
> +uk_ring_free
> +uk_ring_enqueue
> +uk_ring_dequeue_mc
> +uk_ring_dequeue_sc
> +uk_ring_advance_sc
> +uk_ring_putback_sc
> +uk_ring_peek
> +uk_ring_peek_clear_sc
> +uk_ring_full
> +uk_ring_empty
> +uk_ring_count
>
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |