All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Liu, Jijiang" <jijiang.liu-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
To: "dev-VfR2kkLFssw@public.gmane.org" <dev-VfR2kkLFssw@public.gmane.org>
Subject: Re: could not l2fwd in DOM0
Date: Wed, 7 May 2014 04:35:46 +0000	[thread overview]
Message-ID: <1ED644BD7E0A5F4091CF203DAFB8E4CC01C6C07E@SHSMSX101.ccr.corp.intel.com> (raw)
In-Reply-To: <CAD16F236028A64DBBC0158B1636EA4510E8816E-0J0gbvR4kTg/UvCtAeCM4rfspsVTdybXVpNB7YpNyf8@public.gmane.org>

Hi,

I have checked source codes of xen_create_contiguous_region function in kernel 3.14, and found the dma_handle cannot be NULL.

int xen_create_contiguous_region(phys_addr_t pstart, unsigned int order,
                                 unsigned int address_bits,
                                 dma_addr_t *dma_handle)
{
        unsigned long *in_frames = discontig_frames, out_frame;
        unsigned long  flags;
        int            success;
        unsigned long vstart = (unsigned long)phys_to_virt(pstart);
    ...
        *dma_handle = virt_to_machine(vstart).maddr;
        return success ? 0 : -ENOMEM;
}

Thanks
Frank Liu

-----Original Message-----
From: dev [mailto:dev-bounces-VfR2kkLFssw@public.gmane.org] On Behalf Of Samuel Monderer
Sent: Wednesday, April 30, 2014 1:54 AM
To: dev-VfR2kkLFssw@public.gmane.org<mailto:dev-VfR2kkLFssw@public.gmane.org>
Cc: Shimon Zadok
Subject: [dpdk-dev] could not l2fwd in DOM0

Hi,

First I've encountered a compiling problem when compiling for DOM0 due to prototype change of the function xen_create_contiguous_region I made the following changes:

diff --git a/lib/librte_eal/linuxapp/xen_dom0/dom0_mm_misc.c b/lib/librte_eal/linuxapp/xen index 87fa3e6..8addc21 100644
--- a/lib/librte_eal/linuxapp/xen_dom0/dom0_mm_misc.c
+++ b/lib/librte_eal/linuxapp/xen_dom0/dom0_mm_misc.c
@@ -64,6 +64,7 @@
 #include <linux/errno.h>
 #include <linux/vmalloc.h>
 #include <linux/mm.h>
+//#include <linux/types.h>

 #include <xen/xen.h>
 #include <xen/page.h>
@@ -309,6 +310,7 @@ dom0_prepare_memsegs(struct memory_info* meminfo, struct dom0_mm_data
        uint64_t pfn, vstart, vaddr;
        uint32_t i, num_block, size;
        int idx;
+       dma_addr_t *dma_handle = NULL;

        /* Allocate 2M memory once */
        num_block = meminfo->size / 2;
@@ -344,7 +346,7 @@ dom0_prepare_memsegs(struct memory_info* meminfo, struct dom0_mm_data
                 * contiguous physical addresses, its maximum size is 2M.
                 */
                if (xen_create_contiguous_region(mm_data->block_info[i].vir_addr,
-                                   DOM0_CONTIG_NUM_ORDER, 0) == 0) {
+                                   DOM0_CONTIG_NUM_ORDER, 0,
+ dma_handle) == 0) {
                        mm_data->block_info[i].exchange_flag = 1;
                        mm_data->block_info[i].mfn =
                                pfn_to_mfn(mm_data->block_info[i].pfn);

After that I tried to run l2fwd example and got a segmentation fault

root@Smart:~/samuelm/dpdk/dpdk# modprobe uio root@Smart:~/samuelm/dpdk/dpdk# insmod ./x86_64-default-linuxapp-gcc/kmod/igb_uio.ko
root@Smart:~/samuelm/dpdk/dpdk# insmod ./x86_64-default-linuxapp-gcc/kmod/rte_dom0_mm.ko
root@Smart:~/samuelm/dpdk/dpdk# cd examples/l2fwd/build/ root@Smart:~/samuelm/dpdk/dpdk/examples/l2fwd/build# echo 2048 > /sys/kernel/mm/dom0-mm/memsize-mB/memsize
root@Smart:~/samuelm/dpdk/dpdk/examples/l2fwd/build# ./l2fwd -c 3 -n 4 --xen-dom0 -- -q 1 -p 3
EAL: Detected lcore 0 as core 0 on socket 0
EAL: Detected lcore 1 as core 0 on socket 0
EAL: Setting up memory...
Segmentation fault
root@Smart:~/samuelm/dpdk/dpdk/examples/l2fwd/build#

Has anyone already encountered this problem?

Samuelm

  parent reply	other threads:[~2014-05-07  4:35 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-04-29 17:53 could not l2fwd in DOM0 Samuel Monderer
     [not found] ` <CAD16F236028A64DBBC0158B1636EA4510E8816E@SHSMSX104.ccr.corp.intel.com>
     [not found]   ` <CAD16F236028A64DBBC0158B1636EA4510E8816E-0J0gbvR4kTg/UvCtAeCM4rfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2014-05-07  4:35     ` Liu, Jijiang [this message]
     [not found]       ` <9f34498d15cd400eb2db76212778c038@MUC-SRV-MBX2.advaoptical.com>
2014-05-07 12:38         ` Samuel Monderer
     [not found]         ` <9f34498d15cd400eb2db76212778c038-LiFg+WTrWmBD2sXLaXP0VurYEM62JlN9VpNB7YpNyf8@public.gmane.org>
2014-05-07 12:44           ` Samuel Monderer
2014-05-17  7:48 Liu, Jijiang
     [not found] ` <1ED644BD7E0A5F4091CF203DAFB8E4CC01C77421-0J0gbvR4kThpB2pF5aRoyrfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2014-05-29  9:58   ` Thomas Monjalon
2014-05-29 10:12     ` Liu, Jijiang
     [not found]       ` <1ED644BD7E0A5F4091CF203DAFB8E4CC01C7AB55-0J0gbvR4kThpB2pF5aRoyrfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2014-06-09 16:02         ` 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=1ED644BD7E0A5F4091CF203DAFB8E4CC01C6C07E@SHSMSX101.ccr.corp.intel.com \
    --to=jijiang.liu-ral2jqcrhueavxtiumwx3w@public.gmane.org \
    --cc=dev-VfR2kkLFssw@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.