History log of /system/core/init/uevent_listener.h
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
81f5d3ebef2c3789737bf718fc2a2cdd7b9e8b33 22-Jun-2017 Tom Cherry <tomcherry@google.com> init: create android::init:: namespace

With some small fixups along the way

Test: Boot bullhead
Test: init unit tests
Change-Id: I7beaa473cfa9397f845f810557d1631b4a462d6a
/system/core/init/uevent_listener.h
4cbedee541d92b408c591e4fc16d88a0653c076c 21-Jun-2017 Sandeep Patil <sspatil@google.com> Revert "Revert "init: poll in first stage mount if required devices are not found""

This reverts commit d6fccea093ebe5a5d929549d721185b0f1b52ac0.

Bug: 62681642
Bug: 62682821
Bug: 62864413

Change-Id: Ic9c27552acbd2ae312e44ea2cdf060dcf493bfe6
Signed-off-by: Sandeep Patil <sspatil@google.com>
/system/core/init/uevent_listener.h
d6fccea093ebe5a5d929549d721185b0f1b52ac0 21-Jun-2017 Tom Cherry <tomcherry@google.com> Revert "init: poll in first stage mount if required devices are not found"

Bug: 62864413

This reverts commit ccf0d39316dcf6cfd7c50d131fd681a1f6c8fd74.

Change-Id: I343e304db4c0e7af2402397ef468cc743a3f08a9
/system/core/init/uevent_listener.h
ccf0d39316dcf6cfd7c50d131fd681a1f6c8fd74 17-Jun-2017 Tom Cherry <tomcherry@google.com> init: poll in first stage mount if required devices are not found

First stage mount in init currently attempts to regenerate uevents for
specific devices to create the corresponding dev nodes. However, this
is racy as first stage mount happens early in the boot process and
it's possible that some of these devices have not yet been created by
the kernel.

To fix this issue, init will poll on the uevent socket for up to 10
seconds waiting for the kernel to create the required device. It will
return false and panic if this 10 second timeout passes.

Note that the same uevent socket is used in the uevent regeneration
and the polling code, so there is no race if the device is created
after the uevent regeneration and before polling starts; the first
poll will pick up the device.

Bug: 62681642
Bug: 62682821
Test: Boot bullhead
Test: Boot sailfish
Test: Boot hikey + hotplug/unplug sdcard
Change-Id: I4a6ff043eb7115b729ca4954ebc6c9e000132993
/system/core/init/uevent_listener.h
d2fd54e0ffb377ec07f5fc87907356644ec0fdf6 07-Jun-2017 Tom Cherry <tomcherry@google.com> Move restorecon() of /sys from init to ueventd.

ueventd already does restorecon() for /sys/{block,class,devices}, so
instead of duplicating this effort with init, move the restorecon()
that init does for all of /sys to ueventd.

Bug: 62420036
Change-Id: I6125f8ff5316a0cf45872d1100d089d71802958f
Merged-In: I6125f8ff5316a0cf45872d1100d089d71802958f
Test: Boot sailfish, bullhead
/system/core/init/uevent_listener.h
c583305ed7b459604ce619a6c5d44c4a377fcdfe 17-May-2017 Tom Cherry <tomcherry@google.com> ueventd: parallelize uevent handling

fork() subprocesses to handle uevents in parallel.

This reduces coldboot time on bullhead from ~446ms to ~230ms.
This reduces coldboot time on sailfish from ~690ms to ~360ms.
This reduces coldboot time on ryu from ~187ms to ~122ms.

Bug: 33785894

Test: boot bullhead x40, observe no major differences in /dev and /sys
Test: boot sailfish x40, observe no major differences in /dev and /sys
Test: boot ryu x40, observe no major differences in /dev and /sys
Test: boottime tests on bullhead and sailfish
Test: init unit tests

Change-Id: Ie2f63e000b8af78d187477d31fe109f20304d749
/system/core/init/uevent_listener.h
ed506f7356346b74eabcf45e207f9afe54b63089 26-May-2017 Tom Cherry <tomcherry@google.com> ueventd: Break devices.cpp into discrete classes

devices.cpp handles too many things for creating one class. This
change breaks it up into various files and classes.

* Parsing is moved to ueventd_parser.cpp
* Reading from the uevent socket and Cold booting is moved to a
UeventListener class, in uevent_listener.cpp
* Firmware handling is moved to firmware_handler.cpp
* The remaining contents form a DeviceHandler class within devices.cpp

Bug: 33785894

Test: boot bullhead x40, observe no major differences in /dev and /sys
Test: boot sailfish x40, observe no major differences in /dev and /sys
Test: init unit tests

Change-Id: I846a2e5995fbb344c7a8e349065c18a934fa6aba
/system/core/init/uevent_listener.h