aboutsummaryrefslogtreecommitdiff
path: root/src/profiling/SendCounterPacket.cpp
diff options
context:
space:
mode:
authorMatteo Martincigh <matteo.martincigh@arm.com>2019-10-15 09:35:29 +0100
committerMatteo Martincigh <matteo.martincigh@arm.com>2019-10-15 15:20:31 +0000
commit8d9590e5510b8ebdc4e0b2b31ce4b653b46fc02a (patch)
tree0521297dae9ebbf4b012df52313abe44d66d4c42 /src/profiling/SendCounterPacket.cpp
parent672d06eac5b0842c22f9f219e9b65efcd5883d33 (diff)
downloadarmnn-8d9590e5510b8ebdc4e0b2b31ce4b653b46fc02a.tar.gz
IVGCVSW-3939 Code refactoring and minor fixes
* Fixed value masking in SendPeriodicCounterCapturePacket and updated the pertinent unit tests * Code refactoring and cleanup * Added extra comments to the ProfilingService stop/reset procedure Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com> Change-Id: Ibaf2fede76e06d5b8ce7258a4820a60e5993559f
Diffstat (limited to 'src/profiling/SendCounterPacket.cpp')
-rw-r--r--src/profiling/SendCounterPacket.cpp39
1 files changed, 23 insertions, 16 deletions
diff --git a/src/profiling/SendCounterPacket.cpp b/src/profiling/SendCounterPacket.cpp
index 41adf37244..0ac6ecfca3 100644
--- a/src/profiling/SendCounterPacket.cpp
+++ b/src/profiling/SendCounterPacket.cpp
@@ -811,12 +811,15 @@ void SendCounterPacket::SendCounterDirectoryPacket(const ICounterDirectory& coun
void SendCounterPacket::SendPeriodicCounterCapturePacket(uint64_t timestamp, const IndexValuePairsVector& values)
{
+ uint32_t uint16_t_size = sizeof(uint16_t);
+ uint32_t uint32_t_size = sizeof(uint32_t);
+ uint32_t uint64_t_size = sizeof(uint64_t);
+
uint32_t packetFamily = 1;
uint32_t packetClass = 0;
uint32_t packetType = 0;
- uint32_t headerSize = numeric_cast<uint32_t>(2 * sizeof(uint32_t));
- uint32_t bodySize = numeric_cast<uint32_t>((1 * sizeof(uint64_t)) +
- (values.size() * (sizeof(uint16_t) + sizeof(uint32_t))));
+ uint32_t headerSize = 2 * uint32_t_size;
+ uint32_t bodySize = uint64_t_size + numeric_cast<uint32_t>(values.size()) * (uint16_t_size + uint32_t_size);
uint32_t totalSize = headerSize + bodySize;
uint32_t offset = 0;
uint32_t reserved = 0;
@@ -833,22 +836,24 @@ void SendCounterPacket::SendPeriodicCounterCapturePacket(uint64_t timestamp, con
// Create header.
WriteUint32(writeBuffer,
offset,
- ((packetFamily & 0x3F) << 26) | ((packetClass & 0x3FF) << 19) | ((packetType & 0x3FFF) << 16));
- offset += numeric_cast<uint32_t>(sizeof(uint32_t));
+ ((packetFamily & 0x0000003F) << 26) |
+ ((packetClass & 0x0000007F) << 19) |
+ ((packetType & 0x00000007) << 16));
+ offset += uint32_t_size;
WriteUint32(writeBuffer, offset, bodySize);
// Copy captured Timestamp.
- offset += numeric_cast<uint32_t>(sizeof(uint32_t));
+ offset += uint32_t_size;
WriteUint64(writeBuffer, offset, timestamp);
// Copy selectedCounterIds.
- offset += numeric_cast<uint32_t>(sizeof(uint64_t));
+ offset += uint64_t_size;
for (const auto& pair: values)
{
WriteUint16(writeBuffer, offset, pair.first);
- offset += numeric_cast<uint32_t>(sizeof(uint16_t));
+ offset += uint16_t_size;
WriteUint32(writeBuffer, offset, pair.second);
- offset += numeric_cast<uint32_t>(sizeof(uint32_t));
+ offset += uint32_t_size;
}
m_BufferManager.Commit(writeBuffer, totalSize);
@@ -857,11 +862,13 @@ void SendCounterPacket::SendPeriodicCounterCapturePacket(uint64_t timestamp, con
void SendCounterPacket::SendPeriodicCounterSelectionPacket(uint32_t capturePeriod,
const std::vector<uint16_t>& selectedCounterIds)
{
+ uint32_t uint16_t_size = sizeof(uint16_t);
+ uint32_t uint32_t_size = sizeof(uint32_t);
+
uint32_t packetFamily = 0;
uint32_t packetId = 4;
- uint32_t headerSize = numeric_cast<uint32_t>(2 * sizeof(uint32_t));
- uint32_t bodySize = numeric_cast<uint32_t>((1 * sizeof(uint32_t)) +
- (selectedCounterIds.size() * sizeof(uint16_t)));
+ uint32_t headerSize = 2 * uint32_t_size;
+ uint32_t bodySize = uint32_t_size + numeric_cast<uint32_t>(selectedCounterIds.size()) * uint16_t_size;
uint32_t totalSize = headerSize + bodySize;
uint32_t offset = 0;
uint32_t reserved = 0;
@@ -877,19 +884,19 @@ void SendCounterPacket::SendPeriodicCounterSelectionPacket(uint32_t capturePerio
// Create header.
WriteUint32(writeBuffer, offset, ((packetFamily & 0x3F) << 26) | ((packetId & 0x3FF) << 16));
- offset += numeric_cast<uint32_t>(sizeof(uint32_t));
+ offset += uint32_t_size;
WriteUint32(writeBuffer, offset, bodySize);
// Copy capturePeriod.
- offset += numeric_cast<uint32_t>(sizeof(uint32_t));
+ offset += uint32_t_size;
WriteUint32(writeBuffer, offset, capturePeriod);
// Copy selectedCounterIds.
- offset += numeric_cast<uint32_t>(sizeof(uint32_t));
+ offset += uint32_t_size;
for(const uint16_t& id: selectedCounterIds)
{
WriteUint16(writeBuffer, offset, id);
- offset += numeric_cast<uint32_t>(sizeof(uint16_t));
+ offset += uint16_t_size;
}
m_BufferManager.Commit(writeBuffer, totalSize);