Do you have a question? Post it now! No Registration Necessary
Subject
- Posted on
May 2, 2008, 2:27 am

I create a ramfs during boot and map the file to all process (during
process creation) at same address range to facilitate zero copy during
IPC. I do see address range mapped to all processes.
root@10.2.40.206:/home/asathe# cat /proc/2285/maps
0804d000-080b4000 rw-p 0804d000 00:00
0 [heap]
9bef8000-b93b8000 rw-s 00000000 00:08
498 /icmmem (deleted) <== Shared mem.
However I get a kernel panic while accessing mapped region. It does
work for a while. The problem occurs when application process tries to
access shared region at high rate. Any ideas? suggestions?
- Adwait
stopped custom tracer.
Unable to handle kernel paging request at 00000000ac8bd436 RIP:
[<ffffffff88017cb4>] :icm:icm_recvmsg+0x15c/0x19a
PGD 12e1e2067 PUD 117536067 PMD 113153067 PTE 0
Oops: 0000 [1] PREEMPT SMP
CPU 3
Modules linked in: icm i5000_edac edac_core
Pid: 2265, comm: EnmProcessMain Not tainted 2.6.21_mvlcge500-
pc_target-
x86_em64t #1
RIP: 0010:[<ffffffff88017cb4>] [<ffffffff88017cb4>] :icm:icm_recvmsg
+0x15c/0x19a
RSP: 0018:ffff810117527ba8 EFLAGS: 00010293
RAX: 00000000ac8bd400 RBX: 000000009c9ca278 RCX: 000000009c9ca278
RDX: 000000009c9d09b0 RSI: ffff8101174e7000 RDI: ffff81012e585280
RBP: 0000000080000000 R08: ffff810117526000 R09: 0000000000000001
R10: 00000000ffffffff R11: 0000000000000002 R12: 0000000000000088
R13: 00000000f26ab2f0 R14: 00000000f26ab2e8 R15: ffff81012e585280
FS: 0000000000000000(0000) GS:ffff81012fc913c0(0063) knlGS:
00000000f26abb90
CS: 0010 DS: 002b ES: 002b CR0: 000000008005003b
CR2: 00000000ac8bd436 CR3: 000000012ade3000 CR4: 00000000000006e0
Process EnmProcessMain (pid: 2265, threadinfo ffff810117526000, task
ffff8101174e7000)
Stack: 0000000000000000 ffff81012e5852d0 0000000000000001
ffff8101174f4780
0000000080000000 0000000000000088 ffff810117527ed8 ffff810117527c08
ffff810117527e58 ffffffff805cd83f ffffffff809c42e0 ffff8101174e7000
Call Trace:
[<ffffffff805cd83f>] sock_recvmsg+0x17d/0x19c
[<ffffffff805ce97b>] sys_recvmsg+0x190/0x299
[<ffffffff805e6c5b>] compat_sys_socketcall+0x1b0/0x1bc
[<ffffffff8021f9bc>] sysenter_do_call+0x1b/0xcc
[<00000000ffffe410>]
Code: f6 40 36 10 75 16 49 83 c5 08 48 83 44 24 10 01 48 83 7c 24
RIP [<ffffffff88017cb4>] :icm:icm_recvmsg+0x15c/0x19a
RSP <ffff810117527ba8>
CR2: 00000000ac8bd436
process creation) at same address range to facilitate zero copy during
IPC. I do see address range mapped to all processes.
root@10.2.40.206:/home/asathe# cat /proc/2285/maps
0804d000-080b4000 rw-p 0804d000 00:00
0 [heap]
9bef8000-b93b8000 rw-s 00000000 00:08
498 /icmmem (deleted) <== Shared mem.
However I get a kernel panic while accessing mapped region. It does
work for a while. The problem occurs when application process tries to
access shared region at high rate. Any ideas? suggestions?
- Adwait
stopped custom tracer.
Unable to handle kernel paging request at 00000000ac8bd436 RIP:
[<ffffffff88017cb4>] :icm:icm_recvmsg+0x15c/0x19a
PGD 12e1e2067 PUD 117536067 PMD 113153067 PTE 0
Oops: 0000 [1] PREEMPT SMP
CPU 3
Modules linked in: icm i5000_edac edac_core
Pid: 2265, comm: EnmProcessMain Not tainted 2.6.21_mvlcge500-
pc_target-
x86_em64t #1
RIP: 0010:[<ffffffff88017cb4>] [<ffffffff88017cb4>] :icm:icm_recvmsg
+0x15c/0x19a
RSP: 0018:ffff810117527ba8 EFLAGS: 00010293
RAX: 00000000ac8bd400 RBX: 000000009c9ca278 RCX: 000000009c9ca278
RDX: 000000009c9d09b0 RSI: ffff8101174e7000 RDI: ffff81012e585280
RBP: 0000000080000000 R08: ffff810117526000 R09: 0000000000000001
R10: 00000000ffffffff R11: 0000000000000002 R12: 0000000000000088
R13: 00000000f26ab2f0 R14: 00000000f26ab2e8 R15: ffff81012e585280
FS: 0000000000000000(0000) GS:ffff81012fc913c0(0063) knlGS:
00000000f26abb90
CS: 0010 DS: 002b ES: 002b CR0: 000000008005003b
CR2: 00000000ac8bd436 CR3: 000000012ade3000 CR4: 00000000000006e0
Process EnmProcessMain (pid: 2265, threadinfo ffff810117526000, task
ffff8101174e7000)
Stack: 0000000000000000 ffff81012e5852d0 0000000000000001
ffff8101174f4780
0000000080000000 0000000000000088 ffff810117527ed8 ffff810117527c08
ffff810117527e58 ffffffff805cd83f ffffffff809c42e0 ffff8101174e7000
Call Trace:
[<ffffffff805cd83f>] sock_recvmsg+0x17d/0x19c
[<ffffffff805ce97b>] sys_recvmsg+0x190/0x299
[<ffffffff805e6c5b>] compat_sys_socketcall+0x1b0/0x1bc
[<ffffffff8021f9bc>] sysenter_do_call+0x1b/0xcc
[<00000000ffffe410>]
Code: f6 40 36 10 75 16 49 83 c5 08 48 83 44 24 10 01 48 83 7c 24
RIP [<ffffffff88017cb4>] :icm:icm_recvmsg+0x15c/0x19a
RSP <ffff810117527ba8>
CR2: 00000000ac8bd436
Site Timeline
- » Duplication of all threads or A new process with only one thread
- — Next thread in » Embedded Linux
-
- » daemonizing not quite working :o
- — Previous thread in » Embedded Linux
-
- » Crosscompiling for ARM: reloc type R_ARM_ABS32 is not supported for PIC - ...
- — Newest thread in » Embedded Linux
-
- » Re: Capacitors at RF
- — The site's Newest Thread. Posted in » Electronics Repair
-