Age | Commit message (Collapse) | Author | Files | Lines |
|
hint to the compiler that it cannot optimize any checks to it" into tizen
|
|
Change-Id: Ia73930ce8be88dc1bf15f2fee045aaac98b2ee87
|
|
a hint to the compiler that it cannot optimize any checks to it
Without this hint the compiler tends to optimize the synchronization
barrier as it thinks that if a variable is unchanged in the parent
process, it can optimize access to it and not perform the check each
time during the `while` loop which leads to deadlock (endless waiting).
Change-Id: I0a316b4e0d1546bc6864737c20c86601635fff2a
|
|
Payload messages are filled with a cyclical character pattern
consisting of printable ASCII characters for debugging convenience.
Co-author: Michal Bloch <m.bloch@samsung.com>
Change-Id: I4c11508dc08ce7ca07977898d722c4ce4476677e
|
|
Makes the test more consistent by avoiding scheduler and memory cache
issues, leaving just true latency (-60% to values on my particular setup).
However, also makes it model the real world less well.
This makes it good for %-based comparisons,
but less so for absolute time measurements.
Change-Id: Ia71976c83e26f180babfe7f512adebda20e281e6
Signed-off-by: Michal Bloch <m.bloch@samsung.com>
|
|
their synchronous counterparts" into tizen
|
|
|
|
Added missing raw data mode help entry to the common help message.
Change-Id: Id5148eb6430746c6d48b288eefc4d523e78bebc5
|
|
Since we don't use fd passing in our tests, the checks for fd passing
capabilities have been removed.
Change-Id: I62703284cf71c31aa679ed4e1807336ddbb97870
|
|
their synchronous counterparts
More in-depth tests have shown that synchronous connection flushing
produces more predictable results under heavy load. Moreover, it seems
to be the only way to ensure stable and predictable execution flow,
where under heavy load the server can become starved even for a few
seconds.
Change-Id: Ia99618b83a3b9d86fd132554583e6d3250b099f9
|
|
|
|
|
|
Upon encountering an 's' in a format string, `g_variant_get()` takes
a pointer to a (gchar *) (i.e., (gchar **)) and sets it to
a newly-allocated copy of the string. It's the user's responsibility
to free up memory by using `g_free()`.
Change-Id: Ieec7ca25af592dfcdcca34dbe288ea347b80b102
|
|
|
|
Added flushing connection, that writes all queued outgoing messages to
the transport. Without flushing the connection, there is no guarantee
that messages have been sent to the networking buffers in the kernel
before the server sends the messages asynchronously and then exits
immediately.
It also prevents latencies from stacking during measurements under
heavy load.
Change-Id: I5383f0bb4e32c91542c887f2e55eb7bdd030d738
|
|
The following improvements have been incorporated:
- tweaked hackbench invocation by reducing the number of processes to 72
which is arbitrary but enough to generate a load of 25-30 that better
mimics the real working environment of a heavily loaded system
- parametrized calculating delays between sent messages depending on
the message size for libdbus peer to peer to make it consistent with
other IPC tests.
Change-Id: I5b4da9571286ee87f5a06374d75739a97427b870
|
|
|
|
|
|
|
|
|
|
|
|
Fixes a bug causing warm-up tries to be treated as real tries in
latency calculations.
Change-Id: I1548a162fffa6830cf589ebc46bcc571dcfc399b
|
|
Change-Id: I989a600a7f664215545e4e3187448f431c4d10a2
Signed-off-by: Michal Bloch <m.bloch@samsung.com>
|
|
Change-Id: I891b477723eef82db8721b8f9fc8f9910e753c21
Signed-off-by: Michal Bloch <m.bloch@samsung.com>
|
|
Rearranged tests now measure raw latency without counting message
wrangling overhead.
Change-Id: Ic8b9b48495d5842beee3781d462ec45564af41a5
|
|
Instead of a separate client and server binaries,
the common test combines both and forks, similar to
how the other tests implement this.
Change-Id: I7124861bb21330df4aed6ffd02c5b2492408342e
Signed-off-by: Michal Bloch <m.bloch@samsung.com>
|
|
Change-Id: Ibd6adc341610e59ba0432fcd89b30cef609fdc24
Signed-off-by: Michal Bloch <m.bloch@samsung.com>
|
|
|
|
Change-Id: I3f809534cd71dfe906336f21db1ce403f924eca8
|
|
Change-Id: Ie172dcf45da6a2eb82f37cbb9a9eca7a31ebb4bf
Signed-off-by: Michal Bloch <m.bloch@samsung.com>
|
|
Change-Id: Icdb65ed4b875827b32b19c930cfe1749bae9f2c0
Signed-off-by: Michal Bloch <m.bloch@samsung.com>
|
|
|
|
Due to recent changes, the help message is no longer up to date.
As GD-Bus peer to peer tests have additional command line options,
a separate help message had to be created for them.
Change-Id: Ib6ba927f74ea926bb683489bd85dcb535258ecda
|
|
Change-Id: I8dbbf91fabbec8051a37b5882fcad73d3f172c0c
Signed-off-by: Michal Bloch <m.bloch@samsung.com>
|
|
Let the user specify the number of real tries in each of the IPC tests.
Take the default number of real tries as 1000, as it was previously
hard-coded.
Change-Id: I016e1f38479ecf4a81ed72a38900e51ccae54231
|
|
Facilitates the creation of histograms from a large number of samples.
Latencies are saved in a simple CSV file.
Change-Id: I5d98289787a6f352f4998d421e87164e2145c901
|
|
Change-Id: I5fbae009b5a311d2e9b16b3d52f72435cb70a700
Signed-off-by: Michal Bloch <m.bloch@samsung.com>
|
|
|
|
This commit adds new set of DBus-Glib benchmarks. The difference from
previous benchmarks is that clients communicate directly
(using libglib private socket) and not through dbus-daemon.
The benchmark should allow to measure latency/throughput of
socket-based communication with dbus data format. Compared to
communication to dbus-daemon the following is not a part of
the transfer and needs to be kept in mind while comparing
performance that:
- policy is not checked
- only 1-to-1 communication is allowed (no broadcasts).
Change-Id: I84d090a0f3e0d70f3ceb20de36dac41e19e38ae7
|
|
Now it measures raw latency (without counting message wrangling overhead).
Change-Id: Id8b4fe807c5c40d62d8398e03bd1f7681a491f76
Signed-off-by: Michal Bloch <m.bloch@samsung.com>
|
|
Change-Id: I23ae1f9e58dca2de0a8715e5ca8f63264070879c
|
|
Change-Id: Ia886f1d1d123185205d04f15efcc60deeb9909b6
Signed-off-by: Unsung Lee <unsung.lee@samsung.com>
Add IPC benchmark
Change-Id: Ia886f1d1d123185205d04f15efcc60deeb9909b6
Signed-off-by: Unsung Lee <unsung.lee@samsung.com>
Signed-off-by: Hyotaek Shim <hyotaek.shim@samsung.com>
Signed-off-by: Unsung Lee <unsung.lee@samsung.com>
|
|
Change-Id: I07dbeffd02cf67f98ec0363b7b4aaa55e8f34e02
Signed-off-by: sanghyeok.oh <sanghyeok.oh@samsung.com>
|
|
* change option argument (--system,--session) to (-s,-u)
* add option (-v, -p) for checker developement
* skip preprocessor
policy checker using single schema file(rules.xsl) and it doesn't need XPath syntax check.
This reduce policy checking time. (3min -> 19sec at tm1)
Schematron's readme.txt states this:
1) First, preprocess your Schematron schema with iso_dsdl_include.xsl.
This is a macro processor to assemble the schema from various parts.
If your schema is not in separate parts, you can skip this stage.
This stage also generates error messages for some common XPath syntax problems.
Change-Id: Id8dbf03d3a4a5107440823b9bcb0ce1830cc4380
Signed-off-by: sanghyeok.oh <sanghyeok.oh@samsung.com>
|
|
This adds a set of checking rules that check for typos, misspellings
in attributes and some of values of attributes, such as send_type.
Based on manual for dbus-daemon, which defines the policy tags
and attributes.
Change-Id: Ieb4795cdb1a4f0642684f8685092675e84e223ea
|
|
Change-Id: Idf5d2cbbb0173461a609fa7e323b82e31e9618e7
Signed-off-by: sanghyeok.oh <sanghyeok.oh@samsung.com>
|
|
This adds two checks which can help with detecting
config files that have no "allow own" or "check own" or "allow own_prefix"
or "check own_prefix" for services the config file is for.
This works by adding two checking rules:
1. a rule that - for a config file containing policy rule "deny own" - warns
if the file does not contain corresponding "allow own" or "check own"
policy rule with the same name.
2. a rule that does the same, but for 'own_prefix' instead of 'own'.
Change-Id: I758974724ffc5d5af821c44f4737ed87c9f63f59
|
|
This allows specifying of checking rules for signals without
specifying receive_sender. That is, it allows telling who can
receive some kind of signals without telling who can send them.
Without this change every receive checking rule needed receive_sender field.
This change is analogous to sending signals without send_destination.
Change-Id: Ifb0a596980631315d175b33460ad2579265c1e5e
|
|
This allows configurations that do not concern any owned names, e.g.
configurations for specifying who can receive some specific signals.
Without this change, the checking rules ensure that every policy
configuration file contains at least one <deny send_destination/prefix>
and one <deny own> policy rule. This was introduced when there
was "global default allow" policy in some uses. Nowadays, such policies
are probably long gone.
Anyway, there are still other checking rules present, which complain for
not having proper <deny> rules in default context, if <allow>
rules for a name are present in the configuration file.
Change-Id: Ic4eeee3ff5c8524fda58d17874fe6fdb37fb4d1c
|
|
It seems that the checking rules that require all the policy rules
with send_type="method_call" to have specified send_interface
are too strong.
This relaxes the checking rules a bit by allowing rules that:
- are in the "default" or "mandatory" contexts;
- have 'send_type' or 'receive_type set' to "method_call";
- have specified 'send_destination' or 'receive_sender'.
That is, we don't require "send_interface" or "receive interface" anymore
for such rules.
Change-Id: Iefa9bb5a5e23319c7549fa597ab00b5c88600585
|