[dpdk-dev] Assembly code

2016-06-21 Thread Mahdi Moradmand Badie
Dear All,

I used the default format of Makefile (as follow) which is available in the
examples,
I was wondering how I could generate the assembly (main.s) related to my
main.c, via Makefile.

PS. using -S doesn't work :(

ifeq ($(RTE_SDK),)
$(error "Please define RTE_SDK environment variable")
endif

# Default target, can be overriden by command line or environment
RTE_TARGET ?= x86_64-native-linuxapp-gcc

include $(RTE_SDK)/mk/rte.vars.mk

# binary name
APP = Mahdi_test

INC += $(wildcard include/*.h)

# all source are stored in SRCS-y
SRCS-y := main.c

CFLAGS += $(WERROR_FLAGS) -I $(SRCDIR)/include -I/usr/local/include

EXTRA_CFLAGS += -O3
EXTRA_CFLAGS += -Wno-error
EXTRA_CFLAGS += -std=c99

# rte.extapp.mk : External application
include $(RTE_SDK)/mk/rte.extapp.mk

-- 
M at hdi Mor at dm@nd B at die


[dpdk-dev] rte_malloc

2016-05-10 Thread Mahdi Moradmand Badie
No, I don't have any idea? :)

On 10 May 2016 at 12:12, Sergio Gonzalez Monroy <
sergio.gonzalez.monroy at intel.com> wrote:

> Have you tried to run the unit tests? (Run 'app/test' application, then
> 'malloc_autotest')
>
> Sergio
>
>
> On 10/05/2016 16:55, Mahdi Moradmand Badie wrote:
>
> #!/bin/sh
> ./build/app/Mahdi_test -c 0x55 --master-lcore 0
>
> On 10 May 2016 at 11:31, Sergio Gonzalez Monroy <
> sergio.gonzalez.monroy at intel.com> wrote:
>
>> Forgot to ask,
>>
>> What's the command line you are using to run the app?
>>
>> Sergio
>>
>>
>> On 10/05/2016 16:17, Mahdi Moradmand Badie wrote:
>>
>> Thanks Sergio,
>> Yes sure,
>> I attached files, it seems so easy but doesn't work.
>> Thanks,
>>
>> On 10 May 2016 at 04:12, Sergio Gonzalez Monroy <
>> sergio.gonzalez.monroy at intel.com>
>> wrote:
>>
>>> Hi,
>>>
>>> On 09/05/2016 18:32, Mahdi Moradmand Badie wrote:
>>>
>>>> Hello All,
>>>>
>>>> I had a problem regarding use the rte_malloc.
>>>> I want to know if I want to use rte_malloc instead of malloc just mak
>>>> change like this
>>>> struct lcore_params *p = malloc
>>>> <
>>>> http://dpdk.org/doc/api/rte__malloc_8h.html#afb7316a4ec228ed9b8ffc1864b03d85b
>>>> >
>>>> (sizeof(*p)); ==>
>>>> struct lcore_params *p = rte_malloc
>>>> <
>>>> http://dpdk.org/doc/api/rte__malloc_8h.html#afb7316a4ec228ed9b8ffc1864b03d85b
>>>> >(NULL,
>>>> sizeof(*p), 0);
>>>> is enough ?
>>>>
>>>
>>> Yes, malloc(sizeof(*p)) has an equivalent behavior to rte_malloc(NULL,
>>> sizeof(*p), 0)
>>> in the context of a DPDK application.
>>>
>>> Because I have problem and Segmentation fault (core dumped) ??
>>>>
>>>
>>> Could you provide more details of how to reproduce or could you try to
>>> reproduce your problem using a very simple example like
>>> examples/helloworld ?
>>>
>>> Sergio
>>>
>>> Thanks in advance,
>>>>
>>>>
>>>>
>>>
>>
>>
>> --
>> M at hdi Mor at dm@nd B at die
>>
>>
>>
>
>
> --
> M at hdi Mor at dm@nd B at die
>
>
>


-- 
M at hdi Mor at dm@nd B at die


[dpdk-dev] rte_malloc

2016-05-10 Thread Mahdi Moradmand Badie
#!/bin/sh
./build/app/Mahdi_test -c 0x55 --master-lcore 0

On 10 May 2016 at 11:31, Sergio Gonzalez Monroy <
sergio.gonzalez.monroy at intel.com> wrote:

> Forgot to ask,
>
> What's the command line you are using to run the app?
>
> Sergio
>
>
> On 10/05/2016 16:17, Mahdi Moradmand Badie wrote:
>
> Thanks Sergio,
> Yes sure,
> I attached files, it seems so easy but doesn't work.
> Thanks,
>
> On 10 May 2016 at 04:12, Sergio Gonzalez Monroy <
> sergio.gonzalez.monroy at intel.com> wrote:
>
>> Hi,
>>
>> On 09/05/2016 18:32, Mahdi Moradmand Badie wrote:
>>
>>> Hello All,
>>>
>>> I had a problem regarding use the rte_malloc.
>>> I want to know if I want to use rte_malloc instead of malloc just mak
>>> change like this
>>> struct lcore_params *p = malloc
>>> <
>>> http://dpdk.org/doc/api/rte__malloc_8h.html#afb7316a4ec228ed9b8ffc1864b03d85b
>>> >
>>> (sizeof(*p)); ==>
>>> struct lcore_params *p = rte_malloc
>>> <
>>> http://dpdk.org/doc/api/rte__malloc_8h.html#afb7316a4ec228ed9b8ffc1864b03d85b
>>> >(NULL,
>>> sizeof(*p), 0);
>>> is enough ?
>>>
>>
>> Yes, malloc(sizeof(*p)) has an equivalent behavior to rte_malloc(NULL,
>> sizeof(*p), 0)
>> in the context of a DPDK application.
>>
>> Because I have problem and Segmentation fault (core dumped) ??
>>>
>>
>> Could you provide more details of how to reproduce or could you try to
>> reproduce your problem using a very simple example like
>> examples/helloworld ?
>>
>> Sergio
>>
>> Thanks in advance,
>>>
>>>
>>>
>>
>
>
> --
> M at hdi Mor at dm@nd B at die
>
>
>


-- 
M at hdi Mor at dm@nd B at die


[dpdk-dev] rte_malloc

2016-05-10 Thread Mahdi Moradmand Badie
Thanks Sergio,
Yes sure,
I attached files, it seems so easy but doesn't work.
Thanks,

On 10 May 2016 at 04:12, Sergio Gonzalez Monroy <
sergio.gonzalez.monroy at intel.com> wrote:

> Hi,
>
> On 09/05/2016 18:32, Mahdi Moradmand Badie wrote:
>
>> Hello All,
>>
>> I had a problem regarding use the rte_malloc.
>> I want to know if I want to use rte_malloc instead of malloc just mak
>> change like this
>> struct lcore_params *p = malloc
>> <
>> http://dpdk.org/doc/api/rte__malloc_8h.html#afb7316a4ec228ed9b8ffc1864b03d85b
>> >
>> (sizeof(*p)); ==>
>> struct lcore_params *p = rte_malloc
>> <
>> http://dpdk.org/doc/api/rte__malloc_8h.html#afb7316a4ec228ed9b8ffc1864b03d85b
>> >(NULL,
>> sizeof(*p), 0);
>> is enough ?
>>
>
> Yes, malloc(sizeof(*p)) has an equivalent behavior to rte_malloc(NULL,
> sizeof(*p), 0)
> in the context of a DPDK application.
>
> Because I have problem and Segmentation fault (core dumped) ??
>>
>
> Could you provide more details of how to reproduce or could you try to
> reproduce your problem using a very simple example like
> examples/helloworld ?
>
> Sergio
>
> Thanks in advance,
>>
>>
>>
>


-- 
M at hdi Mor at dm@nd B at die


[dpdk-dev] rte_malloc

2016-05-10 Thread Mahdi Moradmand Badie
Thanks Sergio,
Yes sure,
I attached files, it seems so easy but doesn't work.
Thanks,

On 10 May 2016 at 04:12, Sergio Gonzalez Monroy <
sergio.gonzalez.monroy at intel.com> wrote:

> Hi,
>
> On 09/05/2016 18:32, Mahdi Moradmand Badie wrote:
>
>> Hello All,
>>
>> I had a problem regarding use the rte_malloc.
>> I want to know if I want to use rte_malloc instead of malloc just mak
>> change like this
>> struct lcore_params *p = malloc
>> <
>> http://dpdk.org/doc/api/rte__malloc_8h.html#afb7316a4ec228ed9b8ffc1864b03d85b
>> >
>> (sizeof(*p)); ==>
>> struct lcore_params *p = rte_malloc
>> <
>> http://dpdk.org/doc/api/rte__malloc_8h.html#afb7316a4ec228ed9b8ffc1864b03d85b
>> >(NULL,
>> sizeof(*p), 0);
>> is enough ?
>>
>
> Yes, malloc(sizeof(*p)) has an equivalent behavior to rte_malloc(NULL,
> sizeof(*p), 0)
> in the context of a DPDK application.
>
> Because I have problem and Segmentation fault (core dumped) ??
>>
>
> Could you provide more details of how to reproduce or could you try to
> reproduce your problem using a very simple example like
> examples/helloworld ?
>
> Sergio
>
> Thanks in advance,
>>
>>
>>
>


-- 
M at hdi Mor at dm@nd B at die


[dpdk-dev] rte_malloc

2016-05-09 Thread Mahdi Moradmand Badie
Hello All,

I had a problem regarding use the rte_malloc.
I want to know if I want to use rte_malloc instead of malloc just mak
change like this
struct lcore_params *p = malloc

(sizeof(*p)); ==>
struct lcore_params *p = rte_malloc
(NULL,
sizeof(*p), 0);
is enough ?

Because I have problem and Segmentation fault (core dumped) ??
Thanks in advance,


-- 
M at hdi Mor at dm@nd B at die


[dpdk-dev] Multiple Ring for Multiple Cores

2016-04-15 Thread Mahdi Moradmand Badie
Dear All,

I have a written code which doesn't work like I want,

I wanna have a separate ring_buffer for each core (each core has its own
ring),
So I have a 2D array with initial values,
Each core start read each row of values array, do the counter (or function)
and write it back on own ring,
I wanna do this because I wanna have a separate memory space (here
ring_buffer) allocated for each core,
Wrong answer and I don't know the problem
It would be appreciated if help me,
Regards,

-- 
M at hdi Mor at dm@nd B at die


[dpdk-dev] [dpdk-users] how to Read(Write) from(to) via lcores in dpdk regardless of NIC

2016-03-22 Thread Mahdi Moradmand Badie
Dear Andriy,
I did my task with the help of rte_ring, but now I wanna replace rte_ring
with real share cache(L3),
May I ask you if there is any possibility in DPDK in order to do it.
Thanks in advance,

On 9 March 2016 at 05:26, Andriy Berestovskyy  wrote:

> Mahdi,
> 1. Sure, the rte_ring is another good way to communicate between the
> lcores. If you have just one "worker" lcore or you do not care about
> packet ordering, you might prefer using rte_ring over the
> rte_distributor.
>
>
> 2. For the simplicity, you might assume that any of your shared
> structures (rte_ring or rte_distributor) eventually get into the
> cache.
>
> Andriy
>
> On Tue, Mar 8, 2016 at 10:49 PM, Mahdi Moradmand Badie
>  wrote:
> > Another issue, ;)
> > How I could access to the share memory cache of lcores (L3), the rte_ring
> > is exactly that??
> >
> > On 8 March 2016 at 13:08, Mahdi Moradmand Badie 
> > wrote:
> >
> >> Dear Andriy,
> >> Sorry for interrupt again,
> >> As I see in rte_distributor, it is using rte_eth (ethernet), while I
> >> wanna without using any NIC because I don't have it on my personal
> computer
> >> :)
> >>
> >> On 8 March 2016 at 11:49, Mahdi Moradmand Badie  >
> >> wrote:
> >>
> >>> Thanks so much Andriy,
> >>> Regarding cross-post, yes you are right sorry about that and of course
> >>> afterwards.
> >>>
> >>> On 8 March 2016 at 03:17, Andriy Berestovskyy 
> wrote:
> >>>
> >>>> Hi Mahdi,
> >>>> Looks like the DPDK's rte_distributor is the right tool for your task.
> >>>> Please have a look at:
> >>>> http://dpdk.org/doc/guides/prog_guide/packet_distrib_lib.html
> >>>>
> >>>> There is also the Distributor Sample Application in DPDK:
> >>>> http://dpdk.org/doc/guides/sample_app_ug/dist_app.html
> >>>>
> >>>>
> >>>> Please do not cross-post to dev@ mailing list.
> >>>>
> >>>> Regards,
> >>>> Andriy
> >>>>
> >>>> On Tue, Mar 8, 2016 at 6:41 AM, Mahdi Moradmand Badie
> >>>>  wrote:
> >>>> > I wanna create for example 3 different packets in core_0 as master
> and
> >>>> > store them one by one in share memory(rte_ring),
> >>>> > then the core_1 as slave read them and do function on them (ex.
> >>>> P1+P2+P3)
> >>>> > and again store in share memory, finally the core_0 read the packets
> >>>> from
> >>>> > share memory and compare them with whatever expected :)
> >>>> > As I said and you mentioned is the same? :)
> >>>> >
> >>>> > On 8 March 2016 at 00:35, Hamed Zaghaghi 
> >>>> wrote:
> >>>> >
> >>>> >> Hi,
> >>>> >>
> >>>> >> If I understood well you need to do these tasks:
> >>>> >> 1. Packet crafting (I think that DPDK has no functions for this
> task)
> >>>> >> 2. Store packets (DPDK has (rte_mbuf)[
> >>>> >> http://dpdk.org/doc/api/rte__mbuf_8h.html])
> >>>> >> 3. Share between lcores (DPDK offers rte_ring)
> >>>> >>
> >>>> >>
> >>>> >>
> >>>> >> On Tue, Mar 8, 2016 at 8:45 AM Mahdi Moradmand Badie <
> >>>> >> mahdi.mbadie at gmail.com> wrote:
> >>>> >>
> >>>> >>> Dear Hamed,
> >>>> >>>
> >>>> >>> First of all thank you so much for your kindly reply,
> >>>> >>>
> >>>> >>> It's the primary part of the big project, in order to be more
> >>>> familiar
> >>>> >>> with DPDK,
> >>>> >>> I have to implement the mentioned framework by use of DPDK,
> >>>> >>> And finally we wanna implement the cache locking approach (via
> help
> >>>> of
> >>>> >>> features like Cache Allocation Technology(CAT), Cache Monitoring
> >>>> Technology
> >>>> >>> (CMT)) in Xeon processor (my supervisor told me this simple
> exercise
> >>>> >>> will be helpful to do the final part) in such a way we could
> >>>> dedicate a
> >>>> >>> specific part of shared memory (L3) to each core which the other
> >&g

[dpdk-dev] [dpdk-users] how to Read(Write) from(to) via lcores in dpdk regardless of NIC

2016-03-08 Thread Mahdi Moradmand Badie
I wanna create for example 3 different packets in core_0 as master and
store them one by one in share memory(rte_ring),
then the core_1 as slave read them and do function on them (ex. P1+P2+P3)
and again store in share memory, finally the core_0 read the packets from
share memory and compare them with whatever expected :)
As I said and you mentioned is the same? :)

On 8 March 2016 at 00:35, Hamed Zaghaghi  wrote:

> Hi,
>
> If I understood well you need to do these tasks:
> 1. Packet crafting (I think that DPDK has no functions for this task)
> 2. Store packets (DPDK has (rte_mbuf)[
> http://dpdk.org/doc/api/rte__mbuf_8h.html])
> 3. Share between lcores (DPDK offers rte_ring)
>
>
>
> On Tue, Mar 8, 2016 at 8:45 AM Mahdi Moradmand Badie <
> mahdi.mbadie at gmail.com> wrote:
>
>> Dear Hamed,
>>
>> First of all thank you so much for your kindly reply,
>>
>> It's the primary part of the big project, in order to be more familiar
>> with DPDK,
>> I have to implement the mentioned framework by use of DPDK,
>> And finally we wanna implement the cache locking approach (via help of
>> features like Cache Allocation Technology(CAT), Cache Monitoring Technology
>> (CMT)) in Xeon processor (my supervisor told me this simple exercise
>> will be helpful to do the final part) in such a way we could dedicate a
>> specific part of shared memory (L3) to each core which the other don't
>> access to it.
>> Obviously using of DPDK with Xeon which both are from "Intel", is
>> considered as strength point.
>>
>> I hope this was more clear :)
>>
>> On 7 March 2016 at 23:56, Hamed Zaghaghi 
>> wrote:
>>
>>> Hi Mahdi,
>>>
>>> Why do you want to use DPDK when you don't use NIC? You can do what you
>>> want outside of DPDK.
>>>
>>> Regards,
>>> Hamed Zaghaghi
>>>
>>> On Tue, Mar 8, 2016 at 12:16 AM Mahdi Moradmand Badie <
>>> mahdi.mbadie at gmail.com> wrote:
>>>
>>>> Dear All,
>>>> I am Mahdi and I am new in DPDK,
>>>> I wanna generate for example 3 different packets in core0 as master
>>>> write
>>>> it to share memory (L3), then core1 as slave read this packets, change
>>>> them
>>>> with for example function1 and write again in share memory (L3) and
>>>> finally
>>>> check the result with whatever I expect.
>>>> The most important thing is that I don't wanna use NIC and I don't know
>>>> for
>>>> working with cores how I can write/read to/from them, I mean with which
>>>> template and sequence???
>>>> Thanks in advance,
>>>>
>>>
>>
>>
>> --
>> M at hdi Mor at dm@nd B at die
>>
>


-- 
M at hdi Mor at dm@nd B at die


[dpdk-dev] [dpdk-users] how to Read(Write) from(to) via lcores in dpdk regardless of NIC

2016-03-08 Thread Mahdi Moradmand Badie
Dear Hamed,

First of all thank you so much for your kindly reply,

It's the primary part of the big project, in order to be more familiar with
DPDK,
I have to implement the mentioned framework by use of DPDK,
And finally we wanna implement the cache locking approach (via help of
features like Cache Allocation Technology(CAT), Cache Monitoring Technology
(CMT)) in Xeon processor (my supervisor told me this simple exercise
will be helpful to do the final part) in such a way we could dedicate a
specific part of shared memory (L3) to each core which the other don't
access to it.
Obviously using of DPDK with Xeon which both are from "Intel", is
considered as strength point.

I hope this was more clear :)

On 7 March 2016 at 23:56, Hamed Zaghaghi  wrote:

> Hi Mahdi,
>
> Why do you want to use DPDK when you don't use NIC? You can do what you
> want outside of DPDK.
>
> Regards,
> Hamed Zaghaghi
>
> On Tue, Mar 8, 2016 at 12:16 AM Mahdi Moradmand Badie <
> mahdi.mbadie at gmail.com> wrote:
>
>> Dear All,
>> I am Mahdi and I am new in DPDK,
>> I wanna generate for example 3 different packets in core0 as master write
>> it to share memory (L3), then core1 as slave read this packets, change
>> them
>> with for example function1 and write again in share memory (L3) and
>> finally
>> check the result with whatever I expect.
>> The most important thing is that I don't wanna use NIC and I don't know
>> for
>> working with cores how I can write/read to/from them, I mean with which
>> template and sequence???
>> Thanks in advance,
>>
>


-- 
M at hdi Mor at dm@nd B at die


[dpdk-dev] how to Read(Write) from(to) via lcores in dpdk regardless of NIC

2016-03-07 Thread Mahdi Moradmand Badie
Dear All,
I am Mahdi and I am new in DPDK,
I wanna generate for example 3 different packets in core0 as master write
it to share memory (L3), then core1 as slave read this packets, change them
with for example function1 and write again in share memory (L3) and finally
check the result with whatever I expect.
The most important thing is that I don't wanna use NIC and I don't know for
working with cores how I can write/read to/from them, I mean with which
template and sequence???
Thanks in advance,