It is better to show the result before loongson3-llsc-check exit,
otherwise we can see nothing if the return status is EXIT_SUCCESS,
it seems confusing.
E.g. without this patch:
[loongson@localhost tools]$ ./loongson3-llsc-check ../../../vmlinux
[loongson@localhost tools]$
With this patch:
[loongson@localhost tools]$ ./loongson3-llsc-check ../../../vmlinux
loongson3-llsc-check returns success
[loongson@localhost tools]$
Signed-off-by: Tiezhu Yang <[email protected]>
---
v2:
- move "returns" after "loongson3-llsc-check" suggested by Sergei
arch/mips/tools/loongson3-llsc-check.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/arch/mips/tools/loongson3-llsc-check.c b/arch/mips/tools/loongson3-llsc-check.c
index 0ebddd0..bdbc7b4 100644
--- a/arch/mips/tools/loongson3-llsc-check.c
+++ b/arch/mips/tools/loongson3-llsc-check.c
@@ -303,5 +303,7 @@ int main(int argc, char *argv[])
out_close:
close(vmlinux_fd);
out_ret:
+ fprintf(stdout, "loongson3-llsc-check returns %s\n",
+ status ? "failure" : "success");
return status;
}
--
2.1.0
于 2020年5月2日 GMT+08:00 上午11:55:01, Tiezhu Yang <[email protected]> 写到:
>It is better to show the result before loongson3-llsc-check exit,
>otherwise we can see nothing if the return status is EXIT_SUCCESS,
>it seems confusing.
>
>E.g. without this patch:
>
>[loongson@localhost tools]$ ./loongson3-llsc-check ../../../vmlinux
>[loongson@localhost tools]$
>
>With this patch:
>
>[loongson@localhost tools]$ ./loongson3-llsc-check ../../../vmlinux
>loongson3-llsc-check returns success
>[loongson@localhost tools]$
>
>Signed-off-by: Tiezhu Yang <[email protected]>
Reviewed-by: Jiaxun Yang <[email protected]>
Btw,
Just learned from Loongson that the latest generation of Loongson-3
doesn't have LLSC errata, also for Loongson 3A R2/R3, use synci instead
of sync would give better performance.
For performance approach, we'd better develop a method
to enable/disable these workarounds at runtime, looks like smp_alternative[1]
that was already employed by x86 and arm64 can be ported to MIPS and
serves to this target.
I'm struggling with device drivers recently so wish somebody
can take a look at it.
Thanks.
[1]: https://lwn.net/Articles/164121/
>---
>
>v2:
> - move "returns" after "loongson3-llsc-check" suggested by Sergei
>
> arch/mips/tools/loongson3-llsc-check.c | 2 ++
> 1 file changed, 2 insertions(+)
>
>diff --git a/arch/mips/tools/loongson3-llsc-check.c b/arch/mips/tools/loongson3-llsc-check.c
>index 0ebddd0..bdbc7b4 100644
>--- a/arch/mips/tools/loongson3-llsc-check.c
>+++ b/arch/mips/tools/loongson3-llsc-check.c
>@@ -303,5 +303,7 @@ int main(int argc, char *argv[])
> out_close:
> close(vmlinux_fd);
> out_ret:
>+ fprintf(stdout, "loongson3-llsc-check returns %s\n",
>+ status ? "failure" : "success");
> return status;
> }
--
Jiaxun Yang
On Sat, May 02, 2020 at 11:55:01AM +0800, Tiezhu Yang wrote:
> It is better to show the result before loongson3-llsc-check exit,
> otherwise we can see nothing if the return status is EXIT_SUCCESS,
> it seems confusing.
>
> E.g. without this patch:
>
> [loongson@localhost tools]$ ./loongson3-llsc-check ../../../vmlinux
> [loongson@localhost tools]$
>
> With this patch:
>
> [loongson@localhost tools]$ ./loongson3-llsc-check ../../../vmlinux
> loongson3-llsc-check returns success
> [loongson@localhost tools]$
>
> Signed-off-by: Tiezhu Yang <[email protected]>
> ---
>
> v2:
> - move "returns" after "loongson3-llsc-check" suggested by Sergei
>
> arch/mips/tools/loongson3-llsc-check.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/arch/mips/tools/loongson3-llsc-check.c b/arch/mips/tools/loongson3-llsc-check.c
> index 0ebddd0..bdbc7b4 100644
> --- a/arch/mips/tools/loongson3-llsc-check.c
> +++ b/arch/mips/tools/loongson3-llsc-check.c
> @@ -303,5 +303,7 @@ int main(int argc, char *argv[])
> out_close:
> close(vmlinux_fd);
> out_ret:
> + fprintf(stdout, "loongson3-llsc-check returns %s\n",
> + status ? "failure" : "success");
> return status;
> }
> --
> 2.1.0
I've applied your first version, please rebase to mips-next.
Thomas.
--
Crap can work. Given enough thrust pigs will fly, but it's not necessarily a
good idea. [ RFC1925, 2.3 ]