DPDK patches and discussions
 help / color / mirror / Atom feed
* [dpdk-dev] [PATCH]: to create KNI on 32 bit system
@ 2014-01-16  6:59 neeraj kumar
  2014-01-27 15:07 ` Thomas Monjalon
  0 siblings, 1 reply; 2+ messages in thread
From: neeraj kumar @ 2014-01-16  6:59 UTC (permalink / raw)
  To: dev, Thomas Monjalon

It is in regard to this commit  *d92c66f5ac53a7b803efcb4782e601ea99c38a7e*

By default in 32 bit kernel *High Memory Support* option of make menuconfig
is selected with size 4 GB, therefore it gives compilation error.

Thus to use KNI on 32 bit system we need kernel with High memory support of
64 GB, i.e  *PAE* (*Physical Address Extension*) *Support*, then we can be
able to use it in 32 bit environment.

Signed-off by: neeraj kumar

*PATCH 1: *

--- a/defconfig_i686-default-linuxapp-gcc 2014-01-06 15:41:00.349528422
+0530

+++ b/defconfig_i686-default-linuxapp-gcc 2014-01-06 15:41:38.161590053
+0530

@@ -273,9 +273,11 @@ CONFIG_RTE_SCHED_PORT_N_GRINDERS=8



 #

 # Compile librte_kni

-# KNI is not supported on 32-bit

+# KNI will be supported on 32-bit if

+# PAE(Physical Address Extension, i.e High page support)

+# is configured in the kernel

 #

-CONFIG_RTE_LIBRTE_KNI=n

+CONFIG_RTE_LIBRTE_KNI=y

 CONFIG_RTE_LIBRTE_KNI_DEBUG=n

 CONFIG_RTE_KNI_KO_DEBUG=n

 CONFIG_RTE_KNI_VHOST=n

*PATCH 2:*

--- a/defconfig_i686-default-linuxapp-icc 2014-01-06 16:02:47.552420173
+0530

+++ b/defconfig_i686-default-linuxapp-icc 2014-01-06 16:05:27.556579827
+0530

@@ -273,9 +273,12 @@ CONFIG_RTE_SCHED_PORT_N_GRINDERS=8



 #

 # Compile librte_kni

-# KNI is not supported on 32-bit

+# KNI will be supported on 32-bit if

+# PAE(Physical Address Extension, i.e High page support)

+# is configured in the kernel

 #

-CONFIG_RTE_LIBRTE_KNI=n

+

+CONFIG_RTE_LIBRTE_KNI=y

 CONFIG_RTE_LIBRTE_KNI_DEBUG=n

 CONFIG_RTE_KNI_KO_DEBUG=n

 CONFIG_RTE_KNI_VHOST=n


*PATCH 3: Kernel config change*

--- a/.config 2014-01-06 15:57:24.549042056 +0530

+++ b/.config 2014-01-06 15:58:03.263773338 +0530

@@ -116,6 +116,7 @@ CONFIG_LOG_BUF_SHIFT=17

 CONFIG_HAVE_UNSTABLE_SCHED_CLOCK=y

 CONFIG_ARCH_SUPPORTS_NUMA_BALANCING=y

 CONFIG_ARCH_WANTS_PROT_NUMA_PROT_NONE=y

+# CONFIG_NUMA_BALANCING is not set

 # CONFIG_CGROUPS is not set

 # CONFIG_CHECKPOINT_RESTORE is not set

 CONFIG_NAMESPACES=y

@@ -346,19 +347,31 @@ CONFIG_VM86=y

 # CONFIG_X86_MSR is not set

 # CONFIG_X86_CPUID is not set

 # CONFIG_NOHIGHMEM is not set

-CONFIG_HIGHMEM4G=y

-# CONFIG_HIGHMEM64G is not set

+# CONFIG_HIGHMEM4G is not set

+CONFIG_HIGHMEM64G=y

 CONFIG_PAGE_OFFSET=0xC0000000

 CONFIG_HIGHMEM=y

-CONFIG_ARCH_FLATMEM_ENABLE=y

+CONFIG_X86_PAE=y

+CONFIG_ARCH_PHYS_ADDR_T_64BIT=y

+CONFIG_ARCH_DMA_ADDR_T_64BIT=y

+CONFIG_NUMA=y

+# CONFIG_NUMA_EMU is not set

+CONFIG_NODES_SHIFT=3

+CONFIG_ARCH_HAVE_MEMORY_PRESENT=y

+CONFIG_NEED_NODE_MEMMAP_SIZE=y

+CONFIG_ARCH_DISCONTIGMEM_ENABLE=y

+CONFIG_ARCH_DISCONTIGMEM_DEFAULT=y

 CONFIG_ARCH_SPARSEMEM_ENABLE=y

 CONFIG_ARCH_SELECT_MEMORY_MODEL=y

 CONFIG_ILLEGAL_POINTER_VALUE=0

 CONFIG_SELECT_MEMORY_MODEL=y

-CONFIG_FLATMEM_MANUAL=y

+# CONFIG_FLATMEM_MANUAL is not set

+CONFIG_DISCONTIGMEM_MANUAL=y

 # CONFIG_SPARSEMEM_MANUAL is not set

-CONFIG_FLATMEM=y

+CONFIG_DISCONTIGMEM=y

 CONFIG_FLAT_NODE_MEM_MAP=y

+CONFIG_NEED_MULTIPLE_NODES=y

+CONFIG_HAVE_MEMORY_PRESENT=y

 CONFIG_SPARSEMEM_STATIC=y

 CONFIG_HAVE_MEMBLOCK=y

 CONFIG_HAVE_MEMBLOCK_NODE_MAP=y

@@ -368,7 +381,7 @@ CONFIG_PAGEFLAGS_EXTENDED=y

 CONFIG_SPLIT_PTLOCK_CPUS=4

aaa

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [dpdk-dev] [PATCH]: to create KNI on 32 bit system
  2014-01-16  6:59 [dpdk-dev] [PATCH]: to create KNI on 32 bit system neeraj kumar
@ 2014-01-27 15:07 ` Thomas Monjalon
  0 siblings, 0 replies; 2+ messages in thread
From: Thomas Monjalon @ 2014-01-27 15:07 UTC (permalink / raw)
  To: neeraj kumar; +Cc: dev

Hello,

16/01/2014 07:59, neeraj kumar:
> It is in regard to this commit  *d92c66f5ac53a7b803efcb4782e601ea99c38a7e*
> 
> By default in 32 bit kernel *High Memory Support* option of make menuconfig
> is selected with size 4 GB, therefore it gives compilation error.
> 
> Thus to use KNI on 32 bit system we need kernel with High memory support of
> 64 GB, i.e  *PAE* (*Physical Address Extension*) *Support*, then we can be
> able to use it in 32 bit environment.

So KNI can be enabled on 32-bit system only if PAE is enabled.
Then we should either disable it by default, or use a kconfig trick to check 
PAE before building.

>  #
>  # Compile librte_kni
> -# KNI is not supported on 32-bit
> +# KNI will be supported on 32-bit if
> +# PAE(Physical Address Extension, i.e High page support)
> +# is configured in the kernel
>  #

OK

> -CONFIG_RTE_LIBRTE_KNI=n
> +CONFIG_RTE_LIBRTE_KNI=y

It can be applied only if PAE is checked when building.

> *PATCH 3: Kernel config change*
> --- a/.config 2014-01-06 15:57:24.549042056 +0530
> +++ b/.config 2014-01-06 15:58:03.263773338 +0530

This patch cannot be applied to DPDK.

Please try to send your patch with git as described here:
	http://dpdk.org/dev#send

Thanks
-- 
Thomas

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2014-01-27 15:06 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-01-16  6:59 [dpdk-dev] [PATCH]: to create KNI on 32 bit system neeraj kumar
2014-01-27 15:07 ` Thomas Monjalon

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).