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
next prev 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.