Skip to content

Commit 21d7f2f

Browse files
committed
Filter Params
1 parent e63f163 commit 21d7f2f

5 files changed

Lines changed: 82 additions & 11 deletions

File tree

contextual-classifier/ContextualClassifier.cpp

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -182,8 +182,6 @@ void ContextualClassifier::ClassifierMain() {
182182
std::string comm;
183183
uint32_t sigId = URM_SIG_APP_OPEN;
184184
uint32_t sigType = DEFAULT_SIGNAL_TYPE;
185-
int32_t numArgs = 0;
186-
uint32_t* args = nullptr;
187185
uint32_t ctxDetails = 0U;
188186

189187
if(ev.pid != -1) {
@@ -232,14 +230,15 @@ void ContextualClassifier::ClassifierMain() {
232230
.mPid = ev.pid,
233231
.mSigId = sigId,
234232
.mSigType = sigType,
235-
.mNumArgs = numArgs,
236-
.mArgs = args,
233+
.mNumArgs = 0,
234+
.mArgs = nullptr,
237235
.mHandleAcq = -1,
238236
};
239237
postCb((void*)&postProcessData);
240238

241239
// Record any Configurations made
242240
if(postProcessData.mHandleAcq != - 1) {
241+
LOGI(CLASSIFIER_TAG, "Add handle to track: " + std::to_string(postProcessData.mHandleAcq));
243242
this->mCurrRestuneHandles.push_back(postProcessData.mHandleAcq);
244243
}
245244
}
@@ -491,9 +490,7 @@ void ContextualClassifier::configureAppSignals(pid_t incomingPID,
491490
appConfig->mSignalCodes[i],
492491
0,
493492
incomingPID,
494-
incomingTID,
495-
0,
496-
nullptr
493+
incomingTID
497494
);
498495

499496
if(handle != -1) {

resource-tuner/signals/Include/SignalInternal.h

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,8 @@ int64_t acquireSignal(uint32_t sigId,
3636
uint32_t sigType,
3737
pid_t incomingPID,
3838
pid_t incomingTID,
39-
int32_t numArgs,
40-
uint32_t* args);
39+
int32_t numFilterArgs = 0,
40+
uint32_t* filterArgs = nullptr,
41+
int32_t numArgs = 0,
42+
uint32_t* args = nullptr);
4143
#endif

resource-tuner/signals/SignalHandler.cpp

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -329,14 +329,16 @@ static Request* createTuneRequestFromSignal(uint32_t sigId,
329329
uint32_t sigType,
330330
pid_t incomingPID,
331331
pid_t incomingTID,
332+
int32_t numFilterArgs,
333+
uint32_t* filterArgs,
332334
int32_t numArgs,
333335
uint32_t* args) {
334336
try {
335337
std::shared_ptr<SignalRegistry> sigRegistry = SignalRegistry::getInstance();
336338

337339
// Check if a Signal with the given ID exists in the Registry
338340
SignalInfo* signalInfo =
339-
sigRegistry->getSignalConfigByIdAndType(sigId,sigType, numArgs, args);
341+
sigRegistry->getSignalConfigByIdAndType(sigId, sigType, numFilterArgs, filterArgs);
340342

341343
if(signalInfo == nullptr) return nullptr;
342344

@@ -390,6 +392,8 @@ int64_t acquireSignal(uint32_t sigId,
390392
uint32_t sigType,
391393
pid_t incomingPID,
392394
pid_t incomingTID,
395+
int32_t numFilterArgs,
396+
uint32_t* filterArgs,
393397
int32_t numArgs,
394398
uint32_t* args) {
395399
LOGI(CLASSIFIER_TAG, "LogBook: sigId=" + std::to_string(sigId));
@@ -405,7 +409,9 @@ int64_t acquireSignal(uint32_t sigId,
405409

406410
int64_t handle = -1;
407411
Request* request =
408-
createTuneRequestFromSignal(sigId, sigType, incomingPID, incomingTID, numArgs, args);
412+
createTuneRequestFromSignal(sigId, sigType, incomingPID,
413+
incomingTID, numFilterArgs,
414+
filterArgs, numArgs, args);
409415
if(request != nullptr) {
410416
if(request->getResourcesCount() > 0) {
411417
// Record:

tests/Component/ConfigSelectionTests.cpp

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -96,3 +96,43 @@ URM_TEST(TestBestConfigSelection3, {
9696
E_ASSERT((signalInfo->mExtraAttrs[SIGNAL_EXTRA_ATTR_HEIGHT] == 4200));
9797
E_ASSERT((signalInfo->mExtraAttrs[SIGNAL_EXTRA_ATTR_WIDTH] == 5800));
9898
})
99+
100+
URM_TEST(TestBestConfigSelection4, {
101+
std::shared_ptr<SignalRegistry> sigRegistry = SignalRegistry::getInstance();
102+
103+
SignalInfo* signalInfo = nullptr;
104+
uint32_t* extraAttrs = new uint32_t[SIGNAL_EXTRA_ATTRS_COUNT];
105+
extraAttrs[0] = 120;
106+
extraAttrs[1] = 2160;
107+
extraAttrs[2] = 3840;
108+
signalInfo = SignalRegistry::getInstance()->getSignalConfigByIdAndType(
109+
CONSTRUCT_SIG_CODE(0x0d, 0x0011), 0, SIGNAL_EXTRA_ATTRS_COUNT, extraAttrs
110+
);
111+
112+
E_ASSERT((signalInfo != nullptr));
113+
E_ASSERT((signalInfo->mSignalID == 0x0011));
114+
E_ASSERT((signalInfo->mSignalCategory == 0x0d));
115+
E_ASSERT((strcmp((const char*)signalInfo->mSignalName.data(), "TEST_SIGNAL_15_A") == 0));
116+
E_ASSERT((signalInfo->mTimeout == 8000));
117+
118+
E_ASSERT((signalInfo->mPermissions != nullptr));
119+
E_ASSERT((signalInfo->mDerivatives == nullptr));
120+
E_ASSERT((signalInfo->mSignalResources != nullptr));
121+
122+
E_ASSERT((signalInfo->mPermissions->size() == 2));
123+
E_ASSERT((signalInfo->mSignalResources->size() == 1));
124+
125+
E_ASSERT((signalInfo->mPermissions->at(0) == PERMISSION_THIRD_PARTY));
126+
E_ASSERT((signalInfo->mPermissions->at(1) == PERMISSION_SYSTEM));
127+
128+
Resource* resource1 = signalInfo->mSignalResources->at(0);
129+
E_ASSERT((resource1->getResCode() == 0x00ff0000));
130+
E_ASSERT((resource1->getValuesCount() == 1));
131+
E_ASSERT((resource1->getValueAt(0) == 556));
132+
E_ASSERT((resource1->getResInfo() == 0x00000000));
133+
134+
E_ASSERT((signalInfo->mHasExtraAttrs == true));
135+
E_ASSERT((signalInfo->mExtraAttrs[SIGNAL_EXTRA_ATTR_FPS] == 120));
136+
E_ASSERT((signalInfo->mExtraAttrs[SIGNAL_EXTRA_ATTR_HEIGHT] == 2160));
137+
E_ASSERT((signalInfo->mExtraAttrs[SIGNAL_EXTRA_ATTR_WIDTH] == 3840));
138+
})

tests/Configs/SignalsConfig.yaml

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -259,3 +259,29 @@ SignalConfigs:
259259
- Width: 5800
260260
Resources:
261261
- {ResCode: "0x00ff0009", ResInfo: "0x00000002", Values: [445]}
262+
263+
- SigId: "0x0011"
264+
Category: "0x0d"
265+
Name: TEST_SIGNAL_15_A
266+
Enable: true
267+
Permissions: ["third_party", "system"]
268+
Timeout: 8000
269+
ExtraAttrs:
270+
- Fps: 120
271+
- Height: 2160
272+
- Width: 3840
273+
Resources:
274+
- {ResCode: "0x00ff0000", ResInfo: "0x00000000", Values: [556]}
275+
276+
- SigId: "0x0011"
277+
Category: "0x0d"
278+
Name: TEST_SIGNAL_15_B
279+
Enable: true
280+
Permissions: ["third_party", "system"]
281+
Timeout: 8000
282+
ExtraAttrs:
283+
- Fps: 30
284+
- Height: 4320
285+
- Width: 7680
286+
Resources:
287+
- {ResCode: "0x00ff0003", ResInfo: "0x00000000", Values: [971]}

0 commit comments

Comments
 (0)