This is the mail archive of the cygwin mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: git-svn hang starting with 20110721 snapshot.


On Aug  3 13:32, David Rothenberger wrote:
> On 8/3/2011 1:19 PM, Corinna Vinschen wrote:
> > On Aug  3 15:02, Yaakov (Cygwin/X) wrote:
> >> On Wed, 2011-08-03 at 21:03 +0200, Corinna Vinschen wrote:
> >>> Better drop the large address stuff for now.  Since the heap is now in
> >>> the large addres area(*), and since mmaps will go there, too(*), we have
> >>> basically a lot more free space in the area up to 0x7fffffff.
> >>
> >> At this moment, I've got DLLs from 0xf0000000 all the way down to
> >> 0xa1740000, and I could easily have more if I installed all of KDE
> >> (which I provide in Ports, but I prefer to use GNOME).  So where do you
> >> suggest I find that kind of open space in the lower half?
> > 
> > Did you use the current rebaseall?  If so you have a 64K hole between
> > each DLL.
> 
> Isn't this avoided by passing "-o 0" to the current rebaseall?

Yes, but you have to think about it every time you start rebaseall.

> > Other than that I don't have an answer for you.  There's only
> > so much you can do within the 32 bit address space.  That's only one
> > reason why a 64 bit Cygwin would be a good idea.
> 
> What was the motivation for putting the heap and mmaps above 0x80000000?
> Was there not enough space for them below? Would there be enough space
> below if all the DLLs were above?

It's much easier.  For once, we can't rebase the DLLs into the large 
address area in the distro because it only works on systems supporting
large addresses.  It also requires that all executables have the large
address awareness flag set, which is not default either so far, so there's
a pretty high probability the next update breaks your installation again
and you have to run rebaseall *and* peflagsall with the right flags to
fix it.

Mmaps are using a top-down algorithm anyway, so they are automatically
in the large address area, even in 1.7.9.  So there was only the heap,
which typically uses 384 Megs and needs space to grow for big apps
and lots of sbrk calls.  Therefore, IMO, the large address area is the
ideal space for the heap.


Corinna

-- 
Corinna Vinschen                  Please, send mails regarding Cygwin to
Cygwin Project Co-Leader          cygwin AT cygwin DOT com
Red Hat

--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]