07:33:06 <xruxa> #startmeeting
07:33:06 <linarobot> Meeting started Thu Oct 22 07:33:06 2015 UTC.  The chair is xruxa. Information about MeetBot at http://wiki.debian.org/MeetBot.
07:33:06 <linarobot> Useful Commands: #action #agreed #help #info #idea #link #topic.
07:33:11 <xruxa> #chair bero
07:33:11 <linarobot> Current chairs: bero xruxa
07:33:13 <xruxa> #chair bero2
07:33:13 <linarobot> Current chairs: bero bero2 xruxa
07:33:27 * liuyq is here
07:33:30 <xruxa> Qian__, would you go first?
07:34:20 <Qian__> xruxa
07:34:24 <Qian__> oK
07:34:38 <Qian__> What did you do?
07:34:38 <Qian__> Investigate LMG-916,  examine external/* about 50% finished, update the table
07:34:38 <Qian__> List some new technologies we may be interesting, some of them maybe has been used in android or will be used in near future to improve performance.
07:34:40 <Qian__> example: crcal, jack, jemalloc, jetty, jsilver.
07:34:42 <Qian__> Find out some parts are repeated defining, example: dx related to vm is defined both dalvik and external/dexmaker.
07:34:46 <Qian__> What are you going to do?
07:34:47 <Qian__> Go on investigating the rest of external
07:34:54 <Qian__> Investigate on framework/*
07:34:55 <Qian__> What problems do you have?
07:34:55 <Qian__> none
07:35:37 <xruxa> Qian__, thanks for suggesting few things to try out (crcal, jack, jemalloc, jetty, jsilver), bero will check it out with you :)
07:35:57 <xruxa> #info Qian__ suggests we look also into crcal, jack, jemalloc, jetty, jsilver
07:36:21 <Qian__> any question?
07:36:30 <xruxa> Qian__, thanks, looks good.
07:36:39 <xruxa> yspan, would you go next?
07:37:05 <Qian___> xruxa: maybe we should create some backlogs to invetiatte in details
07:37:06 <yspan> ok
07:37:27 <yspan> What did you do?
07:37:27 <yspan> https://github.com/koukaipan/fake-lib and applying the dlopen method to libpng
07:37:29 <xruxa> Qian___, indeed, if bero2 acks any of your items I can help you make items for backlog
07:37:42 <yspan> What are you going to do?
07:37:42 <yspan> keep applying this method to libpng
07:37:43 <Qian___> about, crcal, jack, jemalloc, jetty, jsilver.
07:37:56 <yspan> What problems do you have?
07:37:56 <yspan> What is the difference between demand paging and our dlopen method? In what aspect we can do better?
07:38:13 <xruxa> yspan, you had action "yspan to share his libpng and test app code" - that is all in the git?
07:38:42 <yspan> https://github.com/koukaipan/fake-lib only contains my simple program
07:38:54 <yspan> not yet fully apply to libpng
07:39:17 <xruxa> yspan, I see, thanks.
07:39:55 <yspan> I also described my problem in the email
07:40:04 <xruxa> yspan, about that demand paging vs dlopen - will you contnue on that on your own or need discussion with the team and bero2  ?
07:40:29 <bero2> Qian___: Let's investigate your list of projects (also need to check where they're used though - e.g. dexmaker is used on the build box only)
07:41:34 <xruxa> #action bero2 to have quick look at new items suggested by Qian___  (crcal, jack, jemalloc, jetty, jsilver ...)
07:41:40 <Qian___> bero2: OK
07:42:03 <yspan> I want to make sure dlopen method can work better than demand paging
07:42:15 <xruxa> yspan, ok, and you will look into it yourself/
07:42:16 <xruxa> ?
07:42:56 <yspan> I also want to hear some comments from bero2
07:43:31 <bero2> I don't think the dynamic linker currently supports demand paging
07:43:42 <yspan> well, I need to convince my manager this work is valuable :p
07:44:09 <xruxa> yspan, ok, can you do some small code example and measure it?
07:44:10 <bero2> so that would be a huge effort with essentially the same gain as the dope approach
07:44:39 <bero2> unless I'm wrong and it has been aďded...
07:45:21 <yspan> xruxa, ok
07:45:36 * zhizhoutian_ is here
07:45:41 <xruxa> yspan, thanks. Moving on, xavierhsu can you go next?
07:46:48 <yspan> bero2, maybe the term 'demand paging' is not correct. But /proc/PID/smaps reports RSS is less than Size, does that means some parts of library is not yet loaded because some functions are not yet used?
07:48:00 <xruxa> ok, xavierhsu if you are here ping me.
07:48:11 <xruxa> moving on to sunao - status please?
07:48:32 <sunao> What did you do?
07:48:34 <sunao> 1. remove libopus from the shared library list of libstagefright, so it won't be loaded and shared by zygote.  the sysem works fine. ( audio/video files plays well).
07:48:35 <sunao> The libopus may take up 200KB in zygote's virtual memory .
07:48:37 <sunao> 2. It seems that the Music Player app on Android L doesn't suppot opus music.  Third-party players normally use their own opus decoder. The system opus decoder libstagefright_soft_opusdec is not used at all.
07:48:43 <sunao> what are you going to do?
07:48:44 <sunao> 1. continue working on LMG-913.
07:48:52 <sunao> what problems do you have?
07:48:53 <sunao> 1. As Android is a big and complex system, many processes are running simultaneously , competing for the physical memory. how to prove the memory usage is optimized or  the optimization approach is effective ?
07:48:55 <sunao> that's all.
07:49:07 <bero2> RSS doesn't include shared memory, probably the rest is shared
07:49:14 <Qian___> yspan: I think you are right
07:49:52 <xruxa> sunao, thanks.
07:50:33 <xruxa> sunao, do you have anything else to do with libopus though? It sounded like you were done with it.
07:50:35 <sunao> I'll update the comments of LMG-913
07:50:43 <luther> sunao, right, i think checking  optimization result will be a bottleneck, how to measure?
07:51:12 <sunao> we only have to remove it from libstagefright, no need to split
07:51:25 <bero2> it is hard to measure...
07:51:38 <bero2> dumps mem info gives some good data
07:51:43 <xavierhsu> Xavier is here, Sorry I update the status on daily report.
07:52:02 <xruxa> xavierhsu, ok, go next with your status
07:52:08 <yspan> bero2, so do you think once a library is being loaded, it will be entirely loaded to memory?
07:52:12 <bero2> stupid autocorrection, that was supposed to say dumpsys meminfo
07:52:23 <bero2> pretty sure.  o
07:52:48 <luther> we should have a tool to give out one line result: optimization works well or not and how much?
07:52:49 <xavierhsu> xruxa, ok
07:52:57 <Qian___> There are some android apks to show the memory and perfermane
07:53:02 <yspan> bero2, OK. I will try dumpsys
07:53:29 <bero2> I haven't seen any demand paging or so in the system linker code
07:56:19 <sunao> bero2, load in to memory, means virtual memory or  the physical memory?  the usage of physical is change all the time
07:59:08 <xruxa> xavierhsu, ?
07:59:28 <xruxa> luther, would you go next please?
07:59:30 <xavierhsu> xruxa, it's my turn@@ Sorry
07:59:47 <xavierhsu> What did you do?  1. Trying to modify the libjpeg for supporting demand loading.What are you going to do?
07:59:48 <luther> xavierhsu, ok, pls
08:00:03 <xavierhsu> What are you going to do?  1. Adding fake libjpeg-enc.so in external lib (libjpeg).What problems do you have?
08:00:24 <xavierhsu> What problems do you have?   1. After I trace the source code of libjpeg, I not sure how to add fake libjpeg-enc.so in libjpeg. I need more time to trace the source code of libjpeg.           2. The other external libs (chromium_org and pdfium) have private libjpeg, I need to modify them first?        3. I found the file (frameworks/av/cmds/stagefright/jpeg.cpp) will call the function of libjpeg-enc.so, but I didn't set the An
08:00:36 <xavierhsu> 1. After I trace the source code of libjpeg, I not sure how to add fake libjpeg-enc.so in libjpeg. I need more time to trace the source code of libjpeg.
08:00:44 <xavierhsu> 2. The other external libs (chromium_org and pdfium) have private libjpeg, I need to modify them first?
08:00:52 <xavierhsu> 3. I found the file (frameworks/av/cmds/stagefright/jpeg.cpp) will call the function of libjpeg-enc.so, but I didn't set the Android.mk (LOCAL_SHARED_LIBRARIES := libjpeg-enc), so I not sure that is correct or not.
08:01:08 <xavierhsu> luther, sorry @@
08:01:11 <bero> sunao: It's virtual memory, but given Android doesn't use swap by default, in most cases that means physical memory
08:01:51 <luther> xavierhsu, :-)
08:03:08 <xruxa> bero, yspan - anything you can sugest  xavierhsu  should do?
08:03:38 <bero> We can't modify the API of libjpeg, that would break NDK apps -- so users of libjpeg don't need to be modified.
08:04:02 <bero> We should get rid of the internal copies in chromium_org (liuyq has already done that) and pdfium (still needs to be done)
08:04:36 <bero> The idea is to replace the functions in libjpeg with stubs that use dlopen to pull in libjpeg-enc as needed
08:04:44 <bero> e.g. the way it's done in yspan's sample code
08:05:19 <xruxa> xavierhsu, ok, so just do same as yspan did :)
08:05:32 <xavierhsu> bero, So I can not add fake libjpeg-enc.so?
08:06:24 <yspan> xavierhsu, you can, but just dlopen it when necessary
08:06:52 <bero> better not, since NDK apps may depend on libjpeg exporting the symbols as needed -- if libjpeg-enc.so only has the fakes, libjpeg.so needs to link to it to keep the API and ABI stable
08:07:01 <yspan> and keep stubs with same prototype in libjpeg.so
08:07:28 <xruxa> luther, please go next?
08:07:43 * luther What did you do?
08:07:44 <luther> 1. Compile apache-harmony in Android 5.1
08:07:44 <luther> 1.1 cd external/apache-harmony
08:07:44 <luther> 1.2 find . |xargs touch
08:07:44 <luther> 1.3 mma
08:07:44 <luther> and following .jar will be created
08:07:46 <luther> Install: out/target/product/scx35l64_sp9838aea_5mod/system/framework/CtsJdwp.jar
08:07:48 <luther> Install: out/host/linux-x86/framework/cts-java-scanner-doclet.jar
08:07:50 <luther> Install: out/host/linux-x86/framework/cts-java-scanner.jar
08:07:54 <luther> Install: out/host/linux-x86/bin/cts-java-scanner
08:07:55 <xavierhsu> bero, I got it, but I need time to trace code because I don't know how to begain this job.
08:07:56 <luther> Install: out/host/linux-x86/framework/cts-xml-generator.jar
08:07:58 <luther> Install: out/host/linux-x86/bin/cts-xml-generator
08:08:00 <luther> Install: out/target/product/scx35l64_sp9838aea_5mod/data/jdwp/apache-harmony-jdwp-tests.jar
08:08:02 <luther> Install: out/host/linux-x86/framework/apache-harmony-jdwp-tests-host.jar
08:08:06 <luther> Install: out/host/linux-x86/framework/apache-harmony-jdwp-tests-hostdex.jar
08:08:10 <luther> Install: out/host/linux-x86/framework/apache-harmony-tests-hostdex.jar
08:08:12 <luther> 2. From the above result, we can see only 2 jar will be installed to the Android Phone
08:08:14 <luther> Install: out/target/product/scx35l64_sp9838aea_5mod/system/framework/CtsJdwp.jar
08:08:16 <luther> Install: out/target/product/scx35l64_sp9838aea_5mod/data/jdwp/apache-harmony-jdwp-tests.jar
08:08:18 <luther> 3. From the above 2 jar's name, it seems they will be used in CTS
08:08:20 <xavierhsu> yspan, thanks.
08:08:20 <luther> 4. There should be no relation between CTS and End user customer
08:08:24 * luther What are you going to do?
08:08:26 <luther> 1. It seems there is no need to go on the apache-harmony code investigation for memory reduction
08:08:28 <luther> 2. waiting for team's opinion on my above conclusion
08:08:30 * luther What problems do you have?
08:08:32 <luther> 1. I don't know whether need we to go on check the apache-harmony Java VM or JNI code later ?
08:09:03 <xruxa> luther, IC. Didn't bero last time suggest taht since Apache harmony is not used anymore you should work on its replacement?
08:09:29 <bero> yes... harmony was replaced, the interesting bits to look at are mostly in libcore/luni
08:09:37 <bero> some are in art
08:09:50 <xruxa> bero, please update https://projects.linaro.org/browse/LMG-909 for luther  then with new description
08:09:57 <bero> yes, updating
08:10:07 <xruxa> #action bero update https://projects.linaro.org/browse/LMG-909 with new description
08:10:12 <luther> xruxa, bero, thanks:-)
08:10:18 <bero> subject is already updated btw
08:10:39 <xruxa> luther, ok, thanks. Lets get new task from bero and/or have a look at the current items in  the backlog as well
08:10:51 <xruxa> bero, +1
08:11:10 <bero> essentially LMG-909 is still accurate, the code has simply moved to a different place
08:11:22 <bero> The interesting bits are in libcore/luni/src/main/java
08:11:22 <xruxa> ok, bero woud you go next?
08:12:31 <bero> Essentially continue the same task, but on the files in libcore/luni/src/main/java and libcore/libart/src/main/java
08:14:13 <bero> I've updated LMG-909 with the locations of the right files
08:14:24 <xruxa> bero, thanks!
08:14:35 <xruxa> bero, and what is new/status at your end?
08:15:01 <bero> What did you do?
08:15:01 <bero> further toolchain bisection
08:15:01 <bero> NDK build fixes, still not complete
08:15:01 <bero> Presented low memory work in Tinno meeting
08:15:01 <bero> What are you going to do?
08:15:01 <bero> Hopefully fix remaining toolchain and NDK issues
08:15:01 <bero> What problems do you have?
08:15:07 <bero> none
08:15:14 <xruxa> bero, thanks!
08:15:28 <bero> unfortunately, building toolchains and then building the OS to see if they work is time consuming
08:15:29 <xruxa> liuyq, would you go next?
08:15:46 <liuyq> What did you do?
08:15:46 <liuyq> Checked the LCRs status on LAVA.
08:15:46 <liuyq> Juno Lollipop: normal test and benchmark tests are OK, no CTS result, no applications result
08:15:46 <liuyq> TC2 Lollipop: ran successfully on LAVA for normal test and CTS
08:15:46 <liuyq> FVP Lollipop: normal test is OK, no CTS test result
08:15:47 <liuyq> Juno Marshmallow: with reference build, normal test and some benchmarks are OK, some benchmarks are failed, no CTS test. member build jobs are still in queue
08:15:49 <liuyq> TC2 Marshmallow: ran successfully on LAVA for normal test and CTS with in permissive mode
08:15:53 <liuyq> FVP Marshmallow: normal tests are OK, no CTS test since CTS test package is not ready yet.
08:15:53 <liuyq> Investigated about the enabling selinux for TC2 Marshmallow builds, find solutions for personality-8  related denials, continue investigating on other denials
08:15:56 <liuyq> Investigated about creating CTS6.0 package for FVP, but not much progress but the conclusion we do need to create a new one.
08:16:01 <liuyq> What are you going to do?
08:16:03 <liuyq> Continue the investigation on CTS test on LAVA for Juno and FVP
08:16:05 <liuyq> Continue the investigation on enabling selinux for Marshmallow on TC2
08:16:07 <liuyq> Continue the investigation on creating CTS6.0 package for FVP
08:16:09 <liuyq> What problems do you have?
08:16:11 <liuyq> We need more Junos on LAVA till we can get the status that there will no jobs in queue at any time.
08:16:48 <xruxa> liuyq, lot to do, again. Thanks! +1 on too few Junos in LAVA - not something we can fix :-/
08:17:03 <liuyq> xruxa, bero cts test on LAVA still a problem this time. but good for TC2 builds.
08:17:27 <xruxa> liuyq, lets continue on LCRs on the release channel after this.
08:17:33 <xruxa> zhizhoutian_, your status?
08:17:47 <zhizhoutian_> What did you do?
08:17:47 <zhizhoutian_> support lava guys to install tshark devices
08:17:47 <zhizhoutian_> What are you going to do?
08:17:47 <zhizhoutian_> support lava guys to install tshark devices
08:17:47 <zhizhoutian_> What problems do you have?
08:17:48 <zhizhoutian_> none
08:21:10 <xruxa> zhizhoutian_, sounds straightforward. Thanks.
08:21:33 <xruxa> all - I guess that is it. Thank you. Do you have meeting invitation for tomorrow from Tom?
08:21:41 <zhizhoutian_> xruxa: :)
08:21:47 <yspan> yes
08:22:35 <xruxa> ok, then lets wrap this meeting up. And keep the discussion on on-demand paging, measuring improvements and other topics rolling !
08:22:39 * liuyq wondering if Tom has time tomorrow?
08:22:44 <xruxa> #endmeeting