I've got strace dump from all Android processes.

[pid   726] 04:13:26.829870 writev(3, [{"\5", 1}, {"gralloc\0", 8},
{"page flipping not supported (yres_virtual=480, requested=960)\0",
62}], 3) = 71
[pid   726] 04:13:26.833420 ioctl(23, 0x4600, 0x45182bb0) = 0
[pid   726] 04:13:26.835216 writev(3, [{"\4", 1}, {"gralloc\0", 8},
{"using (fd=23)\nid           = s3c2410fb\nxres         = 800 px
\nyres         = 480 px\nxres_virtual = 800 px\nyres_virtual = 480 px
\nbpp          = 16\nr            = 11:5\ng            =
5:6\nb            = "..., 206}], 3 <unfinished ...>
[pid   702] 04:13:26.840404 <... recvfrom resumed> "add@/class/vc/
vcs7\0ACTION=add\0DEVPATH=/class/vc/vcs7\0SUBSYSTEM=vc
\0MAJOR=7\0MINOR=7\0SEQNUM=658\0", 65536, 0, NULL, NULL) = 93
[pid   702] 04:13:26.843282 select(11, [6 10], NULL, NULL, {3600, 0})
= 1 (in [6], left {3599, 999917})
[pid   726] 04:13:26.845958 <... writev resumed> ) = 215
[pid   726] 04:13:26.847611 writev(3, [{"\4", 1}, {"gralloc\0", 8},
{"width        = 800 mm (25.400000 dpi)\nheight       = 480 mm
(25.400000 dpi)\nrefresh rate = 53.04 Hz\n\0", 101}], 3
<unfinished ...>
[pid   702] 04:13:26.850797 read(-1, 0xbed8fb78, 100) = -1 EBADF (Bad
file number)
[pid   702] 04:13:26.852491 writev(3, [{"\6", 1}, {"vold\0", 5},
{"Unable to read framework command (Bad file number)\0", 51}], 3
<unfinished ...>
[pid   726] 04:13:26.855723 <... writev resumed> ) = 110
[pid   726] 04:13:26.856635 ioctl(23, 0x4602, 0x45182c50) = 0
[pid   726] 04:13:26.858208 dup(23)     = 24
[pid   726] 04:13:26.859798 getpid( <unfinished ...>
[pid   702] 04:13:26.860360 <... writev resumed> ) = 57
[pid   702] 04:13:26.861327 writev(3, [{"\6", 1}, {"vold\0", 5},
{"Error processing framework command (Bad file number)\0", 53}], 3) =
59
[pid   702] 04:13:26.864975 recvfrom(6, "add@/class/vc/
vcsa7\0ACTION=add\0DEVPATH=/class/vc/vcsa7\0SUBSYSTEM=vc
\0MAJOR=7\0MINOR=135\0SEQNUM=659\0", 65536, 0, NULL, NULL) = 97
[pid   702] 04:13:26.868465 select(11, [6 10], NULL, NULL, {3600, 0}
<unfinished ...>
[pid   479] 04:13:26.869804 <... poll resumed> [{fd=4, events=POLLIN,
revents=POLLIN}, {fd=6, events=POLLIN}, {fd=8, events=POLLIN}], 3, -1)
= 1
[pid   726] 04:13:26.871238 <... getpid resumed> ) = 717
[pid   726] 04:13:26.872154 mmap2(NULL, 770048, PROT_READ|PROT_WRITE,
MAP_SHARED, 23, 0) = 0x45383000
[pid   726] 04:13:26.883462 recv(-2138029488,  <unfinished ...>
[pid   479] 04:13:26.884667 recvfrom(4, "add@/class/vc/vcs1\0ACTION=add
\0DEVPATH=/class/vc/vcs1\0SUBSYSTEM=vc
\0MAJOR=7\0MINOR=1\0SEQNUM=654\0", 1024, 0, NULL, NULL) = 93
[pid   479] 04:13:26.888065 mknod("/dev/vcs1", S_IFCHR|0600, makedev
(7, 1)) = 0
[pid   479] 04:13:26.889872 chown32(0xbef9a430, 0, 0) = 0
[pid   479] 04:13:26.891564 recvfrom(4, "add@/class/vc/
vcsa1\0ACTION=add\0DEVPATH=/class/vc/vcsa1\0SUBSYSTEM=vc
\0MAJOR=7\0MINOR=129\0SEQNUM=655\0", 1024, 0, NULL, NULL) = 97
[pid   479] 04:13:26.895249 mknod("/dev/vcsa1", S_IFCHR|0600, makedev
(7, 129)) = 0
[pid   479] 04:13:26.897324 chown32(0xbef9a430, 0, 0) = 0
[pid   479] 04:13:26.898963 recvfrom(4, "remove@/class/vc/
vcs1\0ACTION=remove\0DEVPATH=/class/vc/vcs1\0SUBSYSTEM=vc
\0MAJOR=7\0MINOR=1\0SEQNUM=656\0", 1024, 0, NULL, NULL) = 99
[pid   479] 04:13:26.902645 unlink("/dev/vcs1") = 0
[pid   479] 04:13:26.904687 recvfrom(4, "remove@/class/vc/
vcsa1\0ACTION=remove\0DEVPATH=/class/vc/vcsa1\0SUBSYSTEM=vc
\0MAJOR=7\0MINOR=129\0SEQNUM=657\0", 1024, 0, NULL, NULL) = 103
[pid   479] 04:13:26.908068 unlink("/dev/vcsa1") = 0
[pid   479] 04:13:26.909891 recvfrom(4, "add@/class/vc/vcs7\0ACTION=add
\0D

As you can see, mmap2 (fb mapping) is called. Process is locked after
mapFrameBufferLocked (in recv syscall).
So the problem may not be in gralloc subsystem - in process, that must
send smth. instead.

http://www.newsycat.com/android/eclair/tmp/strace.dump.bz2

And NUM_BUFFERS defined 2, I did not change it.

-- 
unsubscribe: android-porting+unsubscr...@googlegroups.com
website: http://groups.google.com/group/android-porting

Reply via email to