[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20120329170930.GD16476@fifo99.com>
Date: Thu, 29 Mar 2012 10:09:30 -0700
From: Daniel Walker <dwalker@...o99.com>
To: Tim Bird <tim.bird@...sony.com>
Cc: "linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"kernel-team@...roid.com" <kernel-team@...roid.com>
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
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists