Messages in this thread | | | Date | Thu, 29 Mar 2012 10:09:30 -0700 | From | Daniel Walker <> | Subject | Re: [RFC] Android Logger vs. Shared Memory FIGHT! |
| |
On Thu, Mar 29, 2012 at 09:25:26AM -0700, Tim Bird wrote: > > There is concern about applications leaking sensitive data into the logs, > and a desire to possibly (in the future) support per-application logs > for some apps. Having the code in-kernel means that things like the > timestamp, tid and pid cannot be forged by the process. The separation > into channels and kernel management of the read/write position provide > an impediment to denial of service attacks.
it's unclear what problem would be caused by forging a PID, and why any app would want to do that. It doesn't look like it would cause any problems.
> At the moment, I'm not considering an alternative for logger that runs > completely in user-space. Having said that, this test is certainly interesting, > and may provide some performance numbers for logger or alternatives that would > be useful to compare.
It's certainly up to you what you want to use, but I don't see why any other architecture or OS would want to use logger.
> I like that you've put the gettimeofday() into the shared memory test, to > capture the cost of the timestamp operation. Presumably, the fact that > x86 has VDSO and ARM does not is contributing to the performance difference > between the two platforms.
John Stultz commented on how gettimeofday() is more accurate that what is needed. Logger actually uses a less accurate, and faster, method of timing. The time isn't exactly apples to apples, my shared memory example is actually using a slower clock compared to logger.
> > Tests were 60 seconds. I presume there were multiple runs and these are > averages. Can you provide the number of runs and the standard deviation for > each set?
Test cases were 600 seconds (10 minutes) .. There were three runs. Here's the raw data, all in bytes per second:
X86: Logger TSC = 70072480.0, 83911562.7, 78610971.8 Shared Memory TSC = 460262336.0, 454204684.1, 457050682.2
Logger ACPI_PM = 75523320.0, 81615111.9, 81588600.2 Shared Memory ACPI_PM = 29688532.0, 28211029.2, 28225661.6
ARM: Logger = 6985508.0, 5827587.3, 7034293.7 Shared Memory = 12371886.7, 18362639.9, 15274489.3
You can feel free to compute the standard deviation if you wish.
Daniel
| |