[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 |