Hey there,

I have a patch for aio-stress to align buffer address correctly. Please
have a look. Thanks in advance.

For align buffer address to the number specified by -a option in
aio-stress, it needs to add page_size_mask extra length to total_ram
before call allocation functions. Or it wouldn't be correct in this line
after the allocation:

         p = (char *)((intptr_t) (p + page_size_mask) & ~page_size_mask);

Signed-off-by: Han Pingtian <ha...@linux.vnet.ibm.com>
---
 testcases/kernel/io/ltp-aiodio/aio-stress.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/testcases/kernel/io/ltp-aiodio/aio-stress.c 
b/testcases/kernel/io/ltp-aiodio/aio-stress.c
index 0b7148c..24675ec 100644
--- a/testcases/kernel/io/ltp-aiodio/aio-stress.c
+++ b/testcases/kernel/io/ltp-aiodio/aio-stress.c
@@ -1022,7 +1022,7 @@ int setup_shared_mem(int num_threads, int num_files, int 
depth,
        if (use_shm == USE_MALLOC) {
                p = malloc(total_ram + page_size_mask);
        } else if (use_shm == USE_SHM) {
-               shm_id = shmget(IPC_PRIVATE, total_ram, IPC_CREAT | 0700);
+               shm_id = shmget(IPC_PRIVATE, total_ram + page_size_mask, 
IPC_CREAT | 0700);
                if (shm_id < 0) {
                        perror("shmget");
                        drop_shm();
@@ -1046,9 +1046,9 @@ int setup_shared_mem(int num_threads, int num_files, int 
depth,
                        goto free_buffers;
                }
                unlink(mmap_name);
-               ftruncate(fd, total_ram);
+               ftruncate(fd, total_ram + page_size_mask);
                shm_id = fd;
-               p = mmap((char *)0x50000000, total_ram,
+               p = mmap((char *)0x50000000, total_ram + page_size_mask,
                         PROT_READ | PROT_WRITE, MAP_SHARED, fd, 0);
 
                if (p == MAP_FAILED) {
-- 
1.9.3


------------------------------------------------------------------------------
Dive into the World of Parallel Programming. The Go Parallel Website,
sponsored by Intel and developed in partnership with Slashdot Media, is your
hub for all things parallel software development, from weekly thought
leadership blogs to news, videos, case studies, tutorials and more. Take a
look and join the conversation now. http://goparallel.sourceforge.net/
_______________________________________________
Ltp-list mailing list
Ltp-list@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/ltp-list

Reply via email to