All of lore.kernel.org
 help / color / mirror / Atom feed
From: Stephen Hemminger <stephen-OTpzqLSitTUnbdJkjeBofR2eb7JE58TQ@public.gmane.org>
To: "Venkatesan,
	Venky" <venky.venkatesan-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
Cc: dev-VfR2kkLFssw@public.gmane.org,
	Stephen Hemminger
	<shemming-43mecJUBy8ZBDgjK7y7TUQ@public.gmane.org>
Subject: [PATCH 2/6] qos: use rte_zmalloc instead of memzone for allocation
Date: Fri, 07 Mar 2014 10:13:37 -0800	[thread overview]
Message-ID: <20140307181423.371047493@vyatta.com> (raw)
In-Reply-To: 20140307181335.024904493@vyatta.com

[-- Attachment #1: sched-rte-malloc.patch --]
[-- Type: text/plain, Size: 1875 bytes --]

Memory zone's are inflexible and can not be destroyed.
The size is fixed when initially created therefor QoS parameters
could not be modified at run time, because table size for a subport
might change.

Signed-off-by: Stephen Hemminger <shemming-43mecJUBy8ZBDgjK7y7TUQ@public.gmane.org>

--- a/lib/librte_sched/rte_sched.c	2013-08-02 03:41:05.000000000 -0700
+++ b/lib/librte_sched/rte_sched.c	2014-03-06 15:18:37.094154057 -0800
@@ -37,7 +37,7 @@
 #include <rte_common.h>
 #include <rte_log.h>
 #include <rte_memory.h>
-#include <rte_memzone.h>
+#include <rte_malloc.h>
 #include <rte_cycles.h>
 #include <rte_prefetch.h>
 #include <rte_branch_prediction.h>
@@ -613,7 +613,6 @@ struct rte_sched_port *
 rte_sched_port_config(struct rte_sched_port_params *params)
 {
 	struct rte_sched_port *port = NULL;
-	const struct rte_memzone *mz = NULL;
 	uint32_t mem_size, bmp_mem_size, n_queues_per_port, i;
 	
 	/* Check user parameters. Determine the amount of memory to allocate */
@@ -623,21 +622,10 @@ rte_sched_port_config(struct rte_sched_p
 	}
 	
 	/* Allocate memory to store the data structures */
-	mz = rte_memzone_lookup(params->name);
-	if (mz) {
-		/* Use existing memzone, provided that its size is big enough */
-		if (mz->len < mem_size) {
-			return NULL;
-		}
-	} else {
-		/* Create new memzone */
-		mz = rte_memzone_reserve(params->name, mem_size, params->socket, 0);		
-		if (mz == NULL) {
-			return NULL;
-		}
+	port = rte_zmalloc("qos_params", mem_size, CACHE_LINE_SIZE);
+	if (port == NULL) {
+		return NULL;
 	}
-	memset(mz->addr, 0, mem_size);
-	port = (struct rte_sched_port *) mz->addr;
 
 	/* User parameters */
 	port->n_subports_per_port = params->n_subports_per_port;
@@ -716,9 +704,9 @@ rte_sched_port_free(struct rte_sched_por
 	if (port == NULL){
 		return;
 	}
+
 	rte_bitmap_free(port->bmp);
-	
-	return;
+	rte_free(port);
 }
 
 static void

  parent reply	other threads:[~2014-03-07 18:13 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-03-07 18:13 [PATCH 0/6] DPDK 1.6.1 fixes Stephen Hemminger
2014-03-07 18:13 ` [PATCH 1/6] rte_mbuf: copy offload flags when doing attach/clone of mbuf Stephen Hemminger
     [not found]   ` <20140307181421.045171437-ZtmgI6mnKB3QT0dZR+AlfA@public.gmane.org>
2014-03-24 18:21     ` Thomas Monjalon
2014-03-07 18:13 ` Stephen Hemminger [this message]
     [not found]   ` <20140307181423.371047493-ZtmgI6mnKB3QT0dZR+AlfA@public.gmane.org>
2014-03-24 18:30     ` [PATCH 2/6] qos: use rte_zmalloc instead of memzone for allocation Thomas Monjalon
2014-03-07 18:13 ` [PATCH 3/6] rte_jhash: make arg to rte_jhash2 const Stephen Hemminger
     [not found]   ` <20140307181425.176731410-ZtmgI6mnKB3QT0dZR+AlfA@public.gmane.org>
2014-03-24 18:22     ` Thomas Monjalon
2014-03-07 18:13 ` [PATCH 4/6] mempool: use GCC push/pop Stephen Hemminger
     [not found]   ` <20140307181427.254643901-ZtmgI6mnKB3QT0dZR+AlfA@public.gmane.org>
2014-03-24 18:23     ` Thomas Monjalon
2014-03-07 18:13 ` [PATCH 5/6] xen: dont create dependency on cmdline library Stephen Hemminger
     [not found]   ` <20140307181430.240987691-ZtmgI6mnKB3QT0dZR+AlfA@public.gmane.org>
2014-03-24 21:01     ` Thomas Monjalon
2014-03-07 18:13 ` [PATCH 6/6] ivshmem: fix errors identified by hardening Stephen Hemminger
     [not found]   ` <20140307181432.206702017-ZtmgI6mnKB3QT0dZR+AlfA@public.gmane.org>
2014-04-17 13:51     ` Thomas Monjalon

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20140307181423.371047493@vyatta.com \
    --to=stephen-otpzqlsittunbdjkjebofr2eb7je58tq@public.gmane.org \
    --cc=dev-VfR2kkLFssw@public.gmane.org \
    --cc=shemming-43mecJUBy8ZBDgjK7y7TUQ@public.gmane.org \
    --cc=venky.venkatesan-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.