Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
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.