Merge "Revert "Increase HidRawSensor thread priority to reduce latency"" into main am: 0d62798e8e am: a081c2ffd0 am: 624d91447d
Original change: https://android-review.googlesource.com/c/platform/hardware/libhardware/+/2753014 Change-Id: I6ed862533c977386272d224462e542ba08ecb118 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
@@ -35,15 +35,6 @@ using namespace Hid::Sensor::PropertyUsage;
|
|||||||
const std::unordered_set<unsigned int> HidRawSensorDevice::sInterested{
|
const std::unordered_set<unsigned int> HidRawSensorDevice::sInterested{
|
||||||
ACCELEROMETER_3D, GYROMETER_3D, COMPASS_3D, CUSTOM};
|
ACCELEROMETER_3D, GYROMETER_3D, COMPASS_3D, CUSTOM};
|
||||||
|
|
||||||
void HidRawSensorDevice::enableSchedFifoMode() {
|
|
||||||
constexpr int kHidRawSensorPriority = 10; // Matches with sensor service priority
|
|
||||||
struct sched_param param = {0};
|
|
||||||
param.sched_priority = kHidRawSensorPriority;
|
|
||||||
if (sched_setscheduler(getTid(), SCHED_FIFO | SCHED_RESET_ON_FORK, ¶m) != 0) {
|
|
||||||
ALOGE("Couldn't set SCHED_FIFO for HidRawSensor thread: %s", strerror(errno));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
sp<HidRawSensorDevice> HidRawSensorDevice::create(const std::string &devName) {
|
sp<HidRawSensorDevice> HidRawSensorDevice::create(const std::string &devName) {
|
||||||
sp<HidRawSensorDevice> device(new HidRawSensorDevice(devName));
|
sp<HidRawSensorDevice> device(new HidRawSensorDevice(devName));
|
||||||
// offset +1 strong count added by constructor
|
// offset +1 strong count added by constructor
|
||||||
@@ -83,8 +74,7 @@ HidRawSensorDevice::HidRawSensorDevice(const std::string &devName)
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
run("HidRawSensor", PRIORITY_URGENT_DISPLAY);
|
run("HidRawSensor");
|
||||||
enableSchedFifoMode();
|
|
||||||
mValid = true;
|
mValid = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -41,7 +41,6 @@ private:
|
|||||||
|
|
||||||
// constructor will result in +1 strong count
|
// constructor will result in +1 strong count
|
||||||
explicit HidRawSensorDevice(const std::string &devName);
|
explicit HidRawSensorDevice(const std::string &devName);
|
||||||
void enableSchedFifoMode();
|
|
||||||
// implement function of Thread
|
// implement function of Thread
|
||||||
virtual bool threadLoop() override;
|
virtual bool threadLoop() override;
|
||||||
std::unordered_map<unsigned int/*reportId*/, sp<HidRawSensor>> mSensors;
|
std::unordered_map<unsigned int/*reportId*/, sp<HidRawSensor>> mSensors;
|
||||||
|
|||||||
Reference in New Issue
Block a user