-
Notifications
You must be signed in to change notification settings - Fork 2
[PW_SID:1045501] Ensure some device initialization before init task #1368
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: workflow__riscv__fixes
Are you sure you want to change the base?
Conversation
The device object rescan in acpi_scan_clear_dep_fn is scheduled in the system workqueue which is not guaranteed to be finished before entering userspace. This will cause the problem that some key devices are missed when the init task try to find them, e.g. console devices and root devices (PCIe nvme, etc). This issues is more possbile to happen on RISCV since these devices using GSI interrupt may depend on APLIC and will be scanned in acpi_scan_clear_dep_queue() after APLIC initialized. Fix this by scheduling the acpi_scan_clear_dep_queue() using async schedule function rather than the system workqueue. The deferred works will be synchronized by async_synchronize_full() before entering init task. Update the comment as well. Signed-off-by: Yicong Yang <yang.yicong@picoheart.com> Signed-off-by: Linux RISC-V bot <linux.riscv.bot@gmail.com>
Currently the console_on_rootfs() is called before async_synchronize_full(), the console initialization could be still in process in theory due to async probe, etc. Make it after the async_synchronize_full() to make sure the initialization work is done. Log the error code as well if we failed to open the console. Signed-off-by: Yicong Yang <yang.yicong@picoheart.com> Signed-off-by: Linux RISC-V bot <linux.riscv.bot@gmail.com>
|
Patch 1: "[1/2] ACPI: scan: Use async schedule function for acpi_scan_clear_dep_fn" |
|
Patch 1: "[1/2] ACPI: scan: Use async schedule function for acpi_scan_clear_dep_fn" |
|
Patch 1: "[1/2] ACPI: scan: Use async schedule function for acpi_scan_clear_dep_fn" |
|
Patch 1: "[1/2] ACPI: scan: Use async schedule function for acpi_scan_clear_dep_fn" |
|
Patch 1: "[1/2] ACPI: scan: Use async schedule function for acpi_scan_clear_dep_fn" |
|
Patch 1: "[1/2] ACPI: scan: Use async schedule function for acpi_scan_clear_dep_fn" |
|
Patch 1: "[1/2] ACPI: scan: Use async schedule function for acpi_scan_clear_dep_fn" |
|
Patch 1: "[1/2] ACPI: scan: Use async schedule function for acpi_scan_clear_dep_fn" |
|
Patch 1: "[1/2] ACPI: scan: Use async schedule function for acpi_scan_clear_dep_fn" |
|
Patch 1: "[1/2] ACPI: scan: Use async schedule function for acpi_scan_clear_dep_fn" |
|
Patch 1: "[1/2] ACPI: scan: Use async schedule function for acpi_scan_clear_dep_fn" |
|
Patch 1: "[1/2] ACPI: scan: Use async schedule function for acpi_scan_clear_dep_fn" |
|
Patch 2: "[2/2] init: Move console_on_rootfs after async_synchronize_full" |
|
Patch 2: "[2/2] init: Move console_on_rootfs after async_synchronize_full" |
|
Patch 2: "[2/2] init: Move console_on_rootfs after async_synchronize_full" |
|
Patch 2: "[2/2] init: Move console_on_rootfs after async_synchronize_full" |
|
Patch 2: "[2/2] init: Move console_on_rootfs after async_synchronize_full" |
|
Patch 2: "[2/2] init: Move console_on_rootfs after async_synchronize_full" |
|
Patch 2: "[2/2] init: Move console_on_rootfs after async_synchronize_full" |
|
Patch 2: "[2/2] init: Move console_on_rootfs after async_synchronize_full" |
|
Patch 2: "[2/2] init: Move console_on_rootfs after async_synchronize_full" |
|
Patch 2: "[2/2] init: Move console_on_rootfs after async_synchronize_full" |
|
Patch 2: "[2/2] init: Move console_on_rootfs after async_synchronize_full" |
|
Patch 2: "[2/2] init: Move console_on_rootfs after async_synchronize_full" |
PR for series 1045501 applied to workflow__riscv__fixes
Name: Ensure some device initialization before init task
URL: https://patchwork.kernel.org/project/linux-riscv/list/?series=1045501
Version: 1