Linux-RISC-V Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Conor Dooley <conor@kernel.org>
To: guoren@kernel.org
Cc: arnd@arndb.de, palmer@rivosinc.com, tglx@linutronix.de,
	peterz@infradead.org, luto@kernel.org,
	conor.dooley@microchip.com, heiko@sntech.de, jszhang@kernel.org,
	lazyparser@gmail.com, falcon@tinylab.org, chenhuacai@kernel.org,
	apatel@ventanamicro.com, atishp@atishpatra.org,
	mark.rutland@arm.com, ben@decadent.org.uk, bjorn@kernel.org,
	palmer@dabbelt.com, linux-arch@vger.kernel.org,
	linux-kernel@vger.kernel.org, linux-riscv@lists.infradead.org,
	"Guo Ren" <guoren@linux.alibaba.com>,
	"Björn Töpel" <bjorn@rivosinc.com>,
	"Yipeng Zou" <zouyipeng@huawei.com>
Subject: Re: [PATCH -next V17 4/7] riscv: entry: Convert to generic entry
Date: Fri, 31 Mar 2023 19:34:31 +0100	[thread overview]
Message-ID: <60ee7c26-1a70-427d-beaf-92e2989fc479@spud> (raw)
In-Reply-To: <20230222033021.983168-5-guoren@kernel.org>


[-- Attachment #1.1: Type: text/plain, Size: 6700 bytes --]

On Tue, Feb 21, 2023 at 10:30:18PM -0500, guoren@kernel.org wrote:
> From: Guo Ren <guoren@linux.alibaba.com>
> 
> 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.
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.

[-- Attachment #1.2: signature.asc --]
[-- Type: application/pgp-signature, Size: 228 bytes --]

[-- Attachment #2: Type: text/plain, Size: 161 bytes --]

_______________________________________________
linux-riscv mailing list
linux-riscv@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-riscv

  reply	other threads:[~2023-03-31 18:34 UTC|newest]

Thread overview: 39+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-02-22  3:30 [PATCH -next V17 0/7] riscv: Add GENERIC_ENTRY support guoren
2023-02-22  3:30 ` [PATCH -next V17 1/7] compiler_types.h: Add __noinstr_section() for noinstr guoren
2023-03-22 14:46   ` Björn Töpel
2023-03-24  1:51     ` Guo Ren
2023-03-23  0:43   ` Lai Jiangshan
2023-02-22  3:30 ` [PATCH -next V17 2/7] riscv: ptrace: Remove duplicate operation guoren
2023-02-22  3:30 ` [PATCH -next V17 3/7] riscv: entry: Add noinstr to prevent instrumentation inserted guoren
2023-02-22  3:30 ` [PATCH -next V17 4/7] riscv: entry: Convert to generic entry guoren
2023-03-31 18:34   ` Conor Dooley [this message]
2023-03-31 18:41     ` Conor Dooley
2023-03-31 18:46       ` Heiko Stübner
2023-03-31 18:55         ` Conor Dooley
2023-03-31 21:22           ` Palmer Dabbelt
2023-04-01  2:15         ` Guo Ren
2023-04-01 12:10           ` Heiko Stübner
2023-04-01 13:19             ` Björn Töpel
2023-04-01 13:33               ` Björn Töpel
2023-04-01 14:58                 ` Björn Töpel
2023-04-01 15:42                   ` Heiko Stübner
2023-04-01 18:41                     ` Björn Töpel
2023-04-07  9:13                       ` Guo Ren
2023-04-07  9:18                         ` Conor.Dooley
2023-04-08  4:59                           ` Guo Ren
2023-04-01  1:39     ` Guo Ren
2023-04-01  9:32       ` Conor Dooley
2023-06-29 14:02   ` Daniel Thompson
2023-06-30 11:16     ` Guo Ren
2023-06-30 11:22       ` Guo Ren
2023-06-30 14:50         ` Daniel Thompson
2023-07-01  2:55           ` Guo Ren
2023-07-01  3:08             ` Guo Ren
2023-07-01  4:22               ` Guo Ren
2023-07-03  3:09                 ` Guo Ren
2023-02-22  3:30 ` [PATCH -next V17 5/7] riscv: entry: Remove extra level wrappers of trace_hardirqs_{on,off} guoren
2023-02-22  3:30 ` [PATCH -next V17 6/7] riscv: entry: Consolidate ret_from_kernel_thread into ret_from_fork guoren
2023-02-22  3:30 ` [PATCH -next V17 7/7] riscv: entry: Consolidate general regs saving/restoring guoren
2023-03-24 22:01 ` (subset) [PATCH -next V17 0/7] riscv: Add GENERIC_ENTRY support Palmer Dabbelt
2023-03-24 22:10 ` patchwork-bot+linux-riscv
2023-03-27 23:27 ` Palmer Dabbelt

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=60ee7c26-1a70-427d-beaf-92e2989fc479@spud \
    --to=conor@kernel.org \
    --cc=apatel@ventanamicro.com \
    --cc=arnd@arndb.de \
    --cc=atishp@atishpatra.org \
    --cc=ben@decadent.org.uk \
    --cc=bjorn@kernel.org \
    --cc=bjorn@rivosinc.com \
    --cc=chenhuacai@kernel.org \
    --cc=conor.dooley@microchip.com \
    --cc=falcon@tinylab.org \
    --cc=guoren@kernel.org \
    --cc=guoren@linux.alibaba.com \
    --cc=heiko@sntech.de \
    --cc=jszhang@kernel.org \
    --cc=lazyparser@gmail.com \
    --cc=linux-arch@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-riscv@lists.infradead.org \
    --cc=luto@kernel.org \
    --cc=mark.rutland@arm.com \
    --cc=palmer@dabbelt.com \
    --cc=palmer@rivosinc.com \
    --cc=peterz@infradead.org \
    --cc=tglx@linutronix.de \
    --cc=zouyipeng@huawei.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox