From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Rogers, Gerald" Subject: Re: RTE Ring removing Date: Wed, 7 May 2014 15:36:23 +0000 Message-ID: References: <5368A5E0.8090903@arccn.ru> <5369E6AF.4040402@arccn.ru> <536A1B5C.2010201@6wind.com> <1FD9B82B8BF2CF418D9A1000154491D9740A339F@ORSMSX102.amr.corp.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable To: "Venkatesan, Venky" , Olivier MATZ , Igor Ryzhov , "dev-VfR2kkLFssw@public.gmane.org" Return-path: In-Reply-To: <1FD9B82B8BF2CF418D9A1000154491D9740A339F-P5GAC/sN6hlcIJlls4ac1rfspsVTdybXVpNB7YpNyf8@public.gmane.org> Content-Language: en-US Content-ID: <2D70D631AC4E784A840D15A9D4DEEF78-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org> List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces-VfR2kkLFssw@public.gmane.org Sender: "dev" Venky, This also applies to mbuf pools. Inside of the openvswitch.org patches we allocate mbuf pools for a port, but we are unable to free them back when the port is removed. One other request (maybe it is there, and I=B9m unaware), is the ability to dynamically add / remove a physical port to DPDK. Basically we should be able to reassign on the fly a port from the kernel to DPDK, and vice versa (of course with the caveat that all structures be released in both environments and a port reinitialized). Gerald On 5/7/14, 7:01 AM, "Venkatesan, Venky" wrote: >Olivier,=20 > >We should look at how to make the memseg capable of doing alloc/free >(including re-assembly of fragments) after the 1.7 release. Is that >something you are considering doing (or are there any other DPDKers >considering this), or should I look at putting together a patch for that? > >Regards,=20 >-Venky > >-----Original Message----- >From: dev [mailto:dev-bounces-VfR2kkLFssw@public.gmane.org] On Behalf Of Olivier MATZ >Sent: Wednesday, May 07, 2014 4:39 AM >To: Igor Ryzhov; dev-VfR2kkLFssw@public.gmane.org >Subject: Re: [dpdk-dev] RTE Ring removing > >Hi Igor, > >On 05/07/2014 09:54 AM, Igor Ryzhov wrote: >> I noticed that in Memzone realization there is a special global >> variable "free_memseg" containing pointers on free memory segments. >> An memzone reserve function just finst the best segment for allocation >> from this "free_memseg" variable. >> >> So I think there is a possibility to unreserve already reserved memory >> back to "free_memseg", and impossibility of unreserving memory is just >> because there is no function for that, not because it is impossible in >> principle. >> Am I right? Or there are any restrictions? > >I think that implementing a freeing of memory segment is feasible, but it >would require some work to properly merge freed zones to avoid memory >fragmentation. > >Another solution is to allocate/free rings in standard memory (malloc for >instance) instead of rte_memzones. Let me know if the patches I've just >sent on the mailing list solves your issue. > >By the way, I plan to do the same thing for mempools in the coming weeks >but there is much more work. > >Regards, >Olivier >