Difference between revisions of "ARMv8 Support Analysis"

From CDOT Wiki
Jump to: navigation, search
(Project Description)
(Project Details)
 
(6 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 +
[[Category:Fedora ARM Secondary Architecture]][[Category:SBR600]][[Category:DPI908/SBR600]][[Category:Fall 2012 DPI908]][[Category:Fall 2012 SBR600]]{{Draft}}
 
= ARMv8 Support Analysis =
 
= ARMv8 Support Analysis =
 
<!-- Replace "Project Name" with the actual name of the project in the line above. -->
 
<!-- Replace "Project Name" with the actual name of the project in the line above. -->
Line 30: Line 31:
 
Learn: mhabed<br />
 
Learn: mhabed<br />
 
IRC: maxam
 
IRC: maxam
 
'''Alexander Davis''' <br />
 
Wiki Page: [[User:Alexander_Aristotle_Davis| Alexander Davis]]<br />
 
IRC: Zulafoxx<br />
 
  
 
<!-- Name(s) of primary people working on the project.  If you want to join a project as leader, discuss with other leaders first.  Include links to personal pages within wiki and to blog sites. -->
 
<!-- Name(s) of primary people working on the project.  If you want to join a project as leader, discuss with other leaders first.  Include links to personal pages within wiki and to blog sites. -->
Line 39: Line 36:
 
== Project Contributor(s) ==
 
== Project Contributor(s) ==
  
 +
[http://markmail.org/message/6fsahegaah3xcep6 JCM's Code]
 
<!-- Name(s) of people casually working on the project, or who have contributed significant help.  Include links to personal pages within wiki. Adding the names of your contributors here is a nice way to thank them.
 
<!-- Name(s) of people casually working on the project, or who have contributed significant help.  Include links to personal pages within wiki. Adding the names of your contributors here is a nice way to thank them.
  
Line 45: Line 43:
 
== Project Details ==
 
== Project Details ==
  
<!-- Provides more depth than the Project Description. This is the place for technical discussions, project specs, or other details. If this gets very long, you might consider breaking this part into multiple pages and linking to them. -->
+
===SBR600 Database Connect for ARMv8===
 +
* Database Choice
 +
**MySQL
 +
**PSQL
 +
 
 +
* Current Data Set before 0.1
 +
<pre>
 +
Aborting due to error preparing package
 +
Summary for package: python-2.7.3-6.fc17.src.rpm
 +
        Assembly source files: 0
 +
        Inline assembly usage: 1
 +
        Total number of files: 1
 +
 
 +
        Inline assembly usage:
 +
                ./Python-2.7.3/Python/pymath.c (2)
 +
                ./Python-2.7.3/Python/ceval.c (9)
 +
Summary for package: python-squaremap-1.0.0-0.5.b25.fc17.src.rpm
 +
        Assembly source files: 0
 +
        Inline assembly usage: 0
 +
        Total number of files: 0
 +
Summary for package: python-ssh-1.7.13-2.fc17.src.rpm
 +
        Assembly source files: 0
 +
        Inline assembly usage: 0
 +
        Total number of files: 0
 +
Summary for package: python-repoze-who-plugins-sa-1.0.1-1.fc17.src.rpm
 +
        Assembly source files: 0
 +
        Inline assembly usage: 0
 +
        Total number of files: 0
 +
Summary for package: python-demjson-1.6-2.fc17.src.rpm
 +
        Assembly source files: 0
 +
        Inline assembly usage: 0
 +
        Total number of files: 0
 +
Summary for package: python-zope-i18n-3.7.4-4.fc17.src.rpm
 +
        Assembly source files: 0
 +
        Inline assembly usage: 0
 +
        Total number of files: 0
 +
Summary for package: python-unidecode-0.04.7-4.fc16.src.rpm
 +
        Assembly source files: 0
 +
        Inline assembly usage: 0
 +
        Total number of files: 0
 +
Summary for package: python-smbc-1.0.13-1.fc17.src.rpm
 +
Could not prepare source package
 +
0
 +
Aborting due to error preparing package
 +
Summary for package: pymongo-2.1.1-1.fc17.src.rpm
 +
        Assembly source files: 0
 +
        Inline assembly usage: 0
 +
        Total number of files: 0
 +
 
 +
ExcludeArch:    ppc ppc64 %{sparc} s390 s390x
 +
 
 +
</pre>
 +
 
 +
 
 +
* Data Formation Requirments for normalization
 +
** Possible csv file:
 +
**#packagename,assembly(y/n),adata1,adata2.....
 +
**#packagename,excludearch(y/n),arch1,arch2......
  
 
== Project Plan ==
 
== Project Plan ==
Line 58: Line 113:
 
* 0.1
 
* 0.1
 
** Build initial script to identify assembly code inside fedora packages
 
** Build initial script to identify assembly code inside fedora packages
 +
** Make a basic database with the initial data
 
* 0.2
 
* 0.2
 +
** Generate script that will distinguish between Arch and Platform specific assembly code
 +
** Get/make koji connector to get additional data
 +
** Make a better databse with the newer set dataset
 
* 0.3
 
* 0.3
 +
** Predict the list of Fedora packages that may or may not build on ARMv8
  
 
== Communication ==
 
== Communication ==

Latest revision as of 12:45, 5 November 2012

Important.png
This is a draft only!
It is still under construction and content may change. Do not rely on this information.

ARMv8 Support Analysis

Project Description

Many Fedora packages contain assembley code for performance optimization or platform-specific support. Assembley code is very processor-specific. When assembley code is not present for a specific architecture, either the package will not build on that architecture, or other code (typically C) which is not processor-specific is used instead.

This project involves analyzing Fedora packages to determine which ones contain assembly code, and determining whether the package will probably build on the upcoming ARMv8 64-bit architecture.

Expected outcome: An analysis of part of the Fedora package set to predict ARMv8 build outcomes.

Maximum number of students: 6 (each taking part of the Fedora package set)

Skills required: packaging, scripting, writing

Resources: Chris Tyler (ctyler), Jon Masters (jonmasters)

Sources: ARMv8_Support_Analysis


Project Leader(s)

Andrew Oatley-Willis
Wiki Page: Andrew OW
Learn: acoatley-willis
IRC: oatley

M A
Wiki Page: Max
Learn: mhabed
IRC: maxam


Project Contributor(s)

JCM's Code

Project Details

SBR600 Database Connect for ARMv8

  • Database Choice
    • MySQL
    • PSQL
  • Current Data Set before 0.1
Aborting due to error preparing package
Summary for package: python-2.7.3-6.fc17.src.rpm
        Assembly source files: 0
        Inline assembly usage: 1
        Total number of files: 1

        Inline assembly usage:
                ./Python-2.7.3/Python/pymath.c (2)
                ./Python-2.7.3/Python/ceval.c (9)
Summary for package: python-squaremap-1.0.0-0.5.b25.fc17.src.rpm
        Assembly source files: 0
        Inline assembly usage: 0
        Total number of files: 0
Summary for package: python-ssh-1.7.13-2.fc17.src.rpm
        Assembly source files: 0
        Inline assembly usage: 0
        Total number of files: 0
Summary for package: python-repoze-who-plugins-sa-1.0.1-1.fc17.src.rpm
        Assembly source files: 0
        Inline assembly usage: 0
        Total number of files: 0
Summary for package: python-demjson-1.6-2.fc17.src.rpm
        Assembly source files: 0
        Inline assembly usage: 0
        Total number of files: 0
Summary for package: python-zope-i18n-3.7.4-4.fc17.src.rpm
        Assembly source files: 0
        Inline assembly usage: 0
        Total number of files: 0
Summary for package: python-unidecode-0.04.7-4.fc16.src.rpm
        Assembly source files: 0
        Inline assembly usage: 0
        Total number of files: 0
Summary for package: python-smbc-1.0.13-1.fc17.src.rpm
Could not prepare source package
0
Aborting due to error preparing package
Summary for package: pymongo-2.1.1-1.fc17.src.rpm
        Assembly source files: 0
        Inline assembly usage: 0
        Total number of files: 0

ExcludeArch:    ppc ppc64 %{sparc} s390 s390x


  • Data Formation Requirments for normalization
    • Possible csv file:
      1. packagename,assembly(y/n),adata1,adata2.....
      2. packagename,excludearch(y/n),arch1,arch2......

Project Plan

Tracking mechanism (bugzilla, trac, github, ...):

Key contacts:

Goals for each release and plans for reaching those goals:

  • 0.1
    • Build initial script to identify assembly code inside fedora packages
    • Make a basic database with the initial data
  • 0.2
    • Generate script that will distinguish between Arch and Platform specific assembly code
    • Get/make koji connector to get additional data
    • Make a better databse with the newer set dataset
  • 0.3
    • Predict the list of Fedora packages that may or may not build on ARMv8

Communication

Mailing Lists

arm

devel

Upsteam Wiki and Web

Links/Bugs/Tracking

Source Code Control

Blogs

Andrew's Blog

Maxam's Blog

Seneca Particpants

Andrew OW

Max

Non-Seneca Participants

Planets

Project News