From mint-bounce@lists.fishpool.fi  Thu Oct  6 17:19:38 2005
X-Original-To: fnaumann@mail.boerde.de
Delivered-To: fnaumann@mail.boerde.de
Message-ID: <4345402E.2040409@coolrunningconcepts.com>
Date: Thu, 06 Oct 2005 10:18:06 -0500
From: Evan Langlois <evan@coolrunningconcepts.com>
User-Agent: Mozilla Thunderbird 0.8 (X11/20041020)
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: Ingo Schmidt <ich@der-ingo.de>
Cc: MiNT-Liste <mint@fishpool.com>
Subject: Re: [MiNT] Re[2]: subversion (svn)
References: <402174642.20051006140355@der-ingo.de> <43453818.2000302@coolrunningconcepts.com> <1771451006.20051006165437@der-ingo.de>
In-Reply-To: <1771451006.20051006165437@der-ingo.de>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
X-AntiAbuse: This header was added to track abuse, please include it with any abuse report
X-AntiAbuse: Primary Hostname - esc14.midphase.com
X-AntiAbuse: Original Domain - fishpool.com
X-AntiAbuse: Originator/Caller UID/GID - [0 0] / [47 12]
X-AntiAbuse: Sender Address Domain - coolrunningconcepts.com
X-Source: 
X-Source-Args: 
X-Source-Dir: 
X-ecartis-version: Ecartis v1.0.0
Sender: mint-bounce@lists.fishpool.fi
Errors-To: mint-bounce@lists.fishpool.fi
X-original-sender: evan@coolrunningconcepts.com
Precedence: bulk
List-help: <mailto:ecartis@lists.fishpool.fi?Subject=help>
List-unsubscribe: <mailto:mint-request@lists.fishpool.fi?Subject=unsubscribe>
List-Id: <mint.lists.fishpool.fi>
X-List-ID: <mint.lists.fishpool.fi>
X-Virus-Scanned: by amavisd-new at relay.boerde.de
X-Spam-Checker-Version: SpamAssassin 2.63 (2004-01-11) on relay.boerde.de
X-Spam-Status: No, hits=-0.7 tagged_above=-50.5 required=7.0 tests=AWL,
 BAYES_00
X-Spam-Level: 

Ingo Schmidt wrote:

>Yes and it fails and since I am no expert I cant tell you exactly
>whats going wrong. There seems to be a module called apr and that one
>couldnt be properly configured or something.
>  
>
Was the error about mmap() ?  :)

APR is the Apache Portable Runtime.  Its a library designed to make 
efficient servers portable.  I'm sure there are plenty of issues with 
getting this ported to MiNT since even though MiNT supports a few 
"unixish" conventions, almost none of the high performance stuff is 
really well supported.

The first one is mmap(), and it looks like APR uses it.  I don't know if 
there is any work-around in the code to not use mmap() but mmap() is so 
standard that I wouldn't think so.  The problem is that implementing 
mmap() in MiNT means you pretty much have to have an MMU doing 
virtual->physical memory mapping.  Basically, a file gets "mapped" into 
memory and you get a pointer back to the memory area as if the whole 
file had been read in, which can be larger than physical memory would 
allow.  The system will swap in the pages as you need them.  The jury is 
out as to how efficient it is to depend incurring a page fault to load 
data in from disk, but it makes memory management really easy for the 
application programmer.

Anyway ... without a demand paged memory system in MiNT, the best you 
can do is emulate mmap() in mintlib by reading in the whole file and you 
can emulate some of the other features of mmap() like memory sharing and 
different protection modes with MiNT.  You just won't ever be able to 
mmap() large files.   I ran into the same problem porting some other 
stuff, for example RPM - RPM files can be pretty large and may not fit 
into the largest block of free RAM you have.

>So maybe someone with more experience could give it a go. It would be
>great to have svn since it is muich better than cvs.
>  
>

The lack of virtual address space is killing us.  I thought someone was 
working on it.   I could maybe look at fiddling with mintlib to see 
about emulating it in userspace for people with lots of RAM and small 
files to mmap().

-- Evan


