|
View:
New views
3 Messages
—
Rating Filter:
Alert me
|
|
|
[PATCH][RFC]Testcases mbind01.c and get_mempolicy01 fails with EINVALHi
We observed that LTP test cases are failing when run on some of the distros Problem Statement: I observed that test cases mbind01.c and get_mempolicy01.c are failing during call to get_mempolicy() with error -EINVAL. In the kernel code the error comes from ---------------------------------------------------------------- SYSCALL_DEFINE5(get_mempolicy, int __user *, policy, unsigned long __user *, nmask, unsigned long, maxnode, unsigned long, addr, unsigned long, flags) { int err; int uninitialized_var(pval); nodemask_t nodes; if (nmask != NULL && maxnode < MAX_NUMNODES) return -EINVAL; <== in the kernel code, MAX_NUMNODES comes to 512 ---------------------------------------------------------------- Analysis: When kernel config option 'configure maximum number of SMP processors and NUMA node' is set MAX_NUMNODES will be initialized to 512 and any call to get_mempolicy() with maxnode value less than that cause the test to fail. ---------------------------------------------------------------- Fix: increase the default maxnode value in the test case to reflect this value. maxnode value comes from numaif.h and this patch increase the value to 512 from earlier 128. Note: I will submit it in the format, once the patch is accepted Thanks Yeehaw This patch fixes the issues noticed while running test case mbind01.c. The test case failed while making call to get_mempolicy system call. The system call fails with kernel returning -EINVAL. This issues is observed due to compatibiliy issue between kernel and ltp code. When kernel configure option 'configure maximum number of SMP processors and NUMA node' is enabled kernel will initialize MAX_NUMNODES variable to 512. In the user space while calling get_mempolicy if user pass any value lesser than 512 for maxnode, the system calls fails with EINVAL. This patch addresses the issue by increasing the maxnode value to 512 Signed-off-by: Sharyathi Nagesh <sharyath@...> Index: ltp/testcases/kernel/syscalls/utils/numaif.h =================================================================== --- ltp.orig/testcases/kernel/syscalls/utils/numaif.h 2009-06-23 19:51:32.000000000 +0530 +++ ltp/testcases/kernel/syscalls/utils/numaif.h 2009-10-20 09:16:00.000000000 +0530 @@ -29,7 +29,7 @@ #include "./include_j_h.h" #include "linux_syscall_numbers.h" -#define NUMA_NUM_NODES 128 +#define NUMA_NUM_NODES 512 typedef struct { unsigned long n[NUMA_NUM_NODES/(sizeof(unsigned long)*8)]; } nodemask_t; ------------------------------------------------------------------------------ Come build with us! The BlackBerry(R) Developer Conference in SF, CA is the only developer event you need to attend this year. Jumpstart your developing skills, take BlackBerry mobile applications to market and stay ahead of the curve. Join us from November 9 - 12, 2009. Register now! http://p.sf.net/sfu/devconference _______________________________________________ Ltp-list mailing list Ltp-list@... https://lists.sourceforge.net/lists/listinfo/ltp-list |
|
|
Re: [PATCH][RFC]Testcases mbind01.c and get_mempolicy01 fails with EINVAL
Hi
On 11/03/2009 05:17 PM, Sharyathi Nagesh wrote: Hi Is it better that "MAX_NUMNODES" get from configure file? For different platforms may have different MAX_NUMNODES. Regards-- Liu Bo ----------------------------------------------------------------
------------------------------------------------------------------------------ Come build with us! The BlackBerry(R) Developer Conference in SF, CA is the only developer event you need to attend this year. Jumpstart your developing skills, take BlackBerry mobile applications to market and stay ahead of the curve. Join us from November 9 - 12, 2009. Register now! http://p.sf.net/sfu/devconference _______________________________________________ Ltp-list mailing list Ltp-list@... https://lists.sourceforge.net/lists/listinfo/ltp-list |
|
|
Re: [PATCH][RFC]Testcases mbind01.c and get_mempolicy01 fails with EINVALLiu
Excuse me for the late response. I looked into Kconfig file and it looks that what you are saying is correct assessment. This is what Kconfig file under arch/x86 says --------------------------------------------------------------------------------------- config MAXSMP bool "Configure Maximum number of SMP Processors and NUMA Nodes" depends on X86_64 && SMP && DEBUG_KERNEL && EXPERIMENTAL --------------------------------------------------------------------------------------- So this value is changed only specific to x86_64 arch And check for ppc64 didn't reveal any modification to the MAX_NUMNODE value. As you put it reading this value from configure file appears to be a better idea Thanks Sharyathi On Tuesday 03 November 2009 03:05 PM, liubo wrote: >> int uninitialized_var(pval); >> nodemask_t nodes; >> >> if (nmask != NULL&& maxnode< MAX_NUMNODES) >> return -EINVAL; >> <== in the kernel code, >> MAX_NUMNODES comes to 512 > > Is it better that "MAX_NUMNODES" get from configure file? > > For different platforms may have different MAX_NUMNODES. > > > Regards-- > Liu Bo > ------------------------------------------------------------------------------ Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day trial. Simplify your report design, integration and deployment - and focus on what you do best, core application coding. Discover what's new with Crystal Reports now. http://p.sf.net/sfu/bobj-july _______________________________________________ Ltp-list mailing list Ltp-list@... https://lists.sourceforge.net/lists/listinfo/ltp-list |
| Free embeddable forum powered by Nabble | Forum Help |