[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [UNIKRAFT PATCH v3 5/5] lib/ukring: Register ukring with Unikraft


  • To: Costin Lupu <costin.lupu@xxxxxxxxx>, Alexander Jung <a.jung@xxxxxxxxxxx>, "minios-devel@xxxxxxxxxxxxx" <minios-devel@xxxxxxxxxxxxx>
  • From: "Jung, Alexander" <a.jung@xxxxxxxxxxxxxxx>
  • Date: Thu, 23 Jul 2020 13:36:22 +0000
  • Accept-language: en-GB, en-US
  • Arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=lancaster.ac.uk; dmarc=pass action=none header.from=lancaster.ac.uk; dkim=pass header.d=lancaster.ac.uk; arc=none
  • Arc-message-signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=xnEg7w8vrdKiEVW4E+s0nyn1J9UaOW/WlsR0JEe69VI=; b=W7Cx0l3AvjFg1CvSPD0Y468yiEXPsEa12GU67dhuZVoqFWnSMrxN254ku5m5gsPZow+DI5m41PYuhjPpyeSrtkHN51nzcPgbaP7eIZrzpZeTyIjNn45UENmHotBjow+4NynPMJklfb85y2JTZp42mEzHjyZF2rq8wEBSNqWOBsha/TkJfdyYFwXcrIX5uBYt4I9+OUNfdQ+WgJ9re7ydPAQNZxJ5rFp23uX85feZboSXUdAjsTSXhb+jYfowKSkZX3VNecSPbYuWxO4SJxoKS5KPBvWk7Pl8iXPX2dQJv3g94Y3YvE8DCSa8OGKVd+CKdKJ/TPvm3PD+lMhq/ykwZA==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=n3hvv7ZcJbJlNw1iSXbYOjcoje2Q312E5xyDx1ysc3y8xMyKsXHBDmEIaTfqxZoI+nce2qa/WHUvL2+K7slaH4acPaghY/94k8W3iEQqbs9U7hHkP2moVIMvaOHF6p2FkAzX1cjklsVcUQkfDmr2NlZ33UIvFdUzv4AaWMGvKMYM75Xz5Fu4ZEvK0cdriw7PgYNxA6/JhKUhpRihDGNjsXkTt6KV5HFdBwC8+pUFqb8GKtejIBKGzxtvsFQylOn6m9WHDodYLcnljs4WS+TnCxaCVqdGnMipD5UNHDuoT7Y7tfvQWISauAzIKdc/trbhGSpNjyeC2xtq09Ka5ATqDQ==
  • Authentication-results: cs.pub.ro; dkim=none (message not signed) header.d=none;cs.pub.ro; dmarc=none action=none header.from=lancaster.ac.uk;
  • Cc: Felipe Huici <felipe.huici@xxxxxxxxx>, Simon Kuenzer <simon.kuenzer@xxxxxxxxx>, Alexander Jung <alexander.jung@xxxxxxxxx>, Sharan Santhanam <sharan.santhanam@xxxxxxxxx>
  • Delivery-date: Thu, 23 Jul 2020 13:36:29 +0000
  • List-id: Mini-os development list <minios-devel.lists.xenproject.org>
  • Thread-index: AQHWYPZBNWMakEDsvUy0mGmfe/Q6Sw==
  • Thread-topic: [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
    > 


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.