|
|
Message-Id: <1427339523.8364.0@smtp.gmail.com>
Date: Thu, 26 Mar 2015 13:12:03 +1000
From: Roman Titov <titovroman@...il.com>
To: "musl@...ts.openwall.com" <musl@...ts.openwall.com>
Subject: GSoC 2015. Porting musl libc to RISC-V project. Proposal help and
feedback.
Hello, musl.
At the moment I'm working on pre-final form of my proposal and I need
some help here.
I defined 3 milestones for the project:
* Milestone #1 (MANDATORY):
Complete musl-libc port for riscv-linux, targeting RV32G and RV64G
ISAs.
* Milestone #2 (MANDATORY):
*Analysis* and/or testing of potential optimization candidates.
What, why and how could be further optimized and which perfomance
increase expected.
* Milestone #3 (OPTIONAL):
Implementation (partial or full) of *found* optimizations with
constant functional and regression *testing*.
I need help with exact criterion definitions for milestone #1.
"Complete musl-libc port..." is nothing. We can't rate level of success
or failure here, as no obligations given and so, this is not a good
proposal milestone.
***
So, here are my suggestions:
Functional criterion:
riscv-musl (lets call it so) should pass all libc-test
[http://wiki.musl-libc.org/wiki/Libc-Test] tests, except tests for:
* optional features that are not implemented in musl yet (e.g.
posix/XSI, mentioned at libc-test musl-wiki page above)
* features, that could not be implemented, because of ISA limitations
* features, that could not be implemented, because of riscv-toolkit
limitations (e.g. unimplemented riscv-gcc or riscv-linux feature/API or
unstable riscv-gcc or riscv-linux API/ABI)
Of course reasoned explanation of "why particular feature was not
implemented" should (and would) be granted.
Perfomance criterion:
riscv-musl should be tested with libc-bench
[http://www.etalabs.net/libc-bench.html][http://git.musl-libc.org/cgit/libc-bench/]
benchmark and should not show any significant regression compared to
existing riscv-musl benchmarking results
[http://www.etalabs.net/compare_libcs.html] for other platforms.
(Right now I still have no better perfomance criterion and no better
definition of "significant regression" than "intuitive" one. Generally,
my idea is to compare riscv-musl libc-bench results with existing musl
implementations and with existing riscv-glibc. riscv-musl and musl
results should correlate, if any riscv-glibc results is 2 times better
- investigate.)
***
Any feedback is highly appreciated.
Is this milestones *ok* and *enough for the job*? Do you *agree* with
them? (probably not so significant to musl, as for lowRISC, which is
actual project "owner")
Are my criterions *ok*? Do you *agree* with them?
*Any* additions, deletions, corrections, advices, etc.
"Full" version of proposal would be in a few hours.
Regards,
Roman Titov
Powered by blists - more mailing lists
Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.