Re: [PATCH -next V17 4/7] riscv: entry: Convert to generic entry

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, Mar 31, 2023 at 2:34 PM Conor Dooley <conor@xxxxxxxxxx> wrote:
>
> On Tue, Feb 21, 2023 at 10:30:18PM -0500, guoren@xxxxxxxxxx wrote:
> > From: Guo Ren <guoren@xxxxxxxxxxxxxxxxx>
> >
> > This patch converts riscv to use the generic entry infrastructure from
> > kernel/entry/*. The generic entry makes maintainers' work easier and
> > codes more elegant. Here are the changes:
> >
> >  - More clear entry.S with handle_exception and ret_from_exception
> >  - Get rid of complex custom signal implementation
> >  - Move syscall procedure from assembly to C, which is much more
> >    readable.
> >  - Connect ret_from_fork & ret_from_kernel_thread to generic entry.
> >  - Wrap with irqentry_enter/exit and syscall_enter/exit_from_user_mode
> >  - Use the standard preemption code instead of custom
>
> This has unfortunately broken booting my usual NFS rootfs on both my D1
> and Icicle. It's one of the Fedora images from David, I think this one:
> http://fedora.riscv.rocks/kojifiles/work/tasks/3933/1313933/
>
> It gets pretty far into things, it's once systemd is operational that
> things go pear shaped:
>
> [  OK  ] Mounted Huge Pages File System.
> [   70.297439] systemd[1]: Mounted POSIX Message Queue File System.
> [  OK  ] Mounted POSIX Message Queue File System.
> [   70.453489] systemd[1]: Mounted Kernel Debug File System.
> [  OK  ] Mounted Kernel Debug File System.
> [   70.516331] systemd[1]: Mounted Kernel Trace File System.
> [  OK  ] Mounted Kernel Trace File System.
> [   70.679253] systemd[1]: modprobe@configfs.service: Succeeded.
> [   70.788400] systemd[1]: Finished Load Kernel Module configfs.
> [  OK  ] Finished Load Kernel Module configfs.
> [   71.501222] systemd[1]: modprobe@drm.service: Succeeded.
> [   71.573295] systemd[1]: Finished Load Kernel Module drm.
> [  OK  ] Finished Load Kernel Module drm.
> [   71.825934] systemd[1]: modprobe@fuse.service: Succeeded.
> [   71.886945] systemd[1]: Finished Load Kernel Module fuse.
> [  OK  ] Finished Load Kernel Module fuse.
> [   71.991932] systemd[1]: nfs-convert.service: Succeeded.
> [   72.034674] systemd[1]: Finished Preprocess NFS configuration convertion.
> [  OK  ] Finished Preprocess NFS configuration convertion.
> [   72.148778] systemd[1]: systemd-modules-load.service: Main process exited, code=exited, status=1/FAILURE
> [   72.256659] systemd[1]: systemd-modules-load.service: Failed with result 'exit-code'.
> [   72.337818] systemd[1]: Failed to start Load Kernel Modules.
> [FAILED] Failed to start Load Kernel Modules.
Are you sure, you've compiled all kernel modules? This patch needs all
kernel stuff re-compiled.

> See 'systemctl status systemd-modules-load.service' for details.
> [   72.410491] systemd[1]: systemd-modules-load.service: Consumed 1.463s CPU time.
> [   72.496739] systemd[1]: Condition check resulted in FUSE Control File System being skipped.
> [   72.513689] systemd[1]: Condition check resulted in Kernel Configuration File System being skipped.
> [   72.682549] systemd[1]: Starting Apply Kernel Variables..
> [  OK  ] Finished Apply Kernel Variables.
> [   76.314434] systemd[1]: Finished Load/Save Random Seed.
> [  OK  ] Finished Load/Save Random Seed.
> [***   ] (1 of 6) A start job is running for…p Virtual Console (14s / no limit)
> [  OK  ] Finished Create Static Device Nodes in /dev.
> [   79.787065] systemd[1]: Started Entropy Daemon based on the HAVEGE algorithm.
> [  OK  ] Started Entropy Daemon based on the HAVEGE algorithm.
> [   80.186295] systemd[1]: Starting Journal Service...
>          Starting Journal Service...
> [   80.713508] systemd[1]: Starting Rule-based Manager for Device Events and Files...
>          Starting Rule-based Manage…for Device Events and Files...
> [  *** ] (2 of 7) A start job is running for… All udev Devices (17s / no limit)
> [   82.939347] systemd[1]: systemd-journald.service: Main process exited, code=exited, status=1/FAILURE
> [   83.032046] systemd[1]: systemd-journald.service: Failed with result 'exit-code'.
> [FAILED] Failed to start Journal Service.
> See 'systemctl status systemd-journald.service' for details.
> [   83.210041] systemd[1]: Dependency failed for Flush Journal to Persistent Storage.
> [DEPEND] Dependency failed for Flus…Journal to Persistent Storage.
> [   83.254122] systemd[1]: systemd-journal-flush.service: Job systemd-journal-flush.service/start failed with result 'dependency'.
> [   83.272366] systemd[1]: systemd-journald.service: Consumed 1.443s CPU time.
> [   83.334360] systemd[1]: systemd-journald.service: Scheduled restart job, restart counter is at 1.
> [   83.427839] systemd[1]: Finished Setup Virtual Console.
> [  OK  ] Finished Setup Virtual Console.
> [   83.510650] systemd[1]: Stopped Journal Service.
> [  OK  ] Stopped Journal Service.
> [   83.554417] systemd[1]: systemd-journald.service: Consumed 1.443s CPU time.
> [   83.576573] systemd[1]: Condition check resulted in Journal Audit Socket being skipped.
> [   83.904878] systemd[1]: Starting Journal Service...
>          Starting Journal Service...
> [   85.752090] systemd[1]: systemd-journald.service: Main process exited, code=exited, status=1/FAILURE
> [   85.826421] systemd[1]: systemd-journald.service: Failed with result 'exit-code'.
> [   85.876165] systemd[1]: Failed to start Journal Service.
> [FAILED] Failed to start Journal Service.
> See 'systemctl status systemd-journald.service' for details.
> [   85.952221] systemd[1]: systemd-journald.service: Consumed 1.355s CPU time.
> [   86.002092] systemd[1]: systemd-journald.service: Scheduled restart job, restart counter is at 2.
> [   86.015081] systemd[1]: Stopped Journal Service.
> [  OK  ] Stopped Journal Service.
> [   86.076429] systemd[1]: systemd-journald.service: Consumed 1.355s CPU time.
> [   86.089700] systemd[1]: Condition check resulted in Journal Audit Socket being skipped.
> [   86.390162] systemd[1]: Starting Journal Service...
>          Starting Journal Service...
> [   87.904427] systemd[1]: systemd-journald.service: Main process exited, code=exited, status=1/FAILURE
> [   87.950259] systemd[1]: systemd-journald.service: Failed with result 'exit-code'.
> [   88.000661] systemd[1]: Failed to start Journal Service.
> [FAILED] Failed to start Journal Service.
> See 'systemctl status systemd-journald.service' for details.
> [   88.079953] systemd[1]: systemd-journald.service: Consumed 1.316s CPU time.
> [   88.128956] systemd[1]: systemd-journald.service: Scheduled restart job, restart counter is at 3.
> [   88.145365] systemd[1]: Stopped Journal Service.
> [  OK  ] Stopped Journal Service.
> [   88.189975] systemd[1]: systemd-journald.service: Consumed 1.316s CPU time.
> [   88.205799] systemd[1]: Condition check resulted in Journal Audit Socket being skipped.
> [   88.514817] systemd[1]: Starting Journal Service...
>          Starting Journal Service...
>
> (Note, you need to merge -rc2 into riscv/for-next to actually boot)
>
> Cheers,
> Conor.



-- 
Best Regards
 Guo Ren




[Index of Archives]     [Linux Kernel]     [Kernel Newbies]     [x86 Platform Driver]     [Netdev]     [Linux Wireless]     [Netfilter]     [Bugtraq]     [Linux Filesystems]     [Yosemite Discussion]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Device Mapper]

  Powered by Linux