This is the mail archive of the
mailing list for the Cygwin project.
Re: 1.7.0 CVS mmap failure
On Jan 17 13:42, Brian Ford wrote:
> On Wed, 17 Jan 2007, Corinna Vinschen wrote:
> > On Jan 16 17:28, Brian Ford wrote:
> > > PS: In an strace of this, I see three fstat64s called from within a
> > > single mmap64. Do you know where they all are, and if two should be
> > > optimized away?
> > There's only one such call in list::set.
> which is called from map::add_list, yes. I also see one in
> mmap.cc:1203 mmap64():
> map_list = mmapped_areas.get_list_by_fd (fd);
> mmap.cc:982 mmap_worker():
> if (!(map_list = mmapped_areas.get_list_by_fd (fd))
> mmap.cc:983 mmap_worker():
> && !(map_list = mmapped_areas.add_list (fd)))
> mmap.cc:1134 mmap64():
> DWORD low = GetFileSize (fh->get_handle (), &high);
> > STC?
> It looks like your statement is true for the first mmap in a process, but
> subsequent mmaps have significant overhead. In the attached STC, I count
> 5 fstat64s of the same fd via strace, plus the GetFileSize mentioned
> PS. Since this isn't a bug, I don't expect you to do any more than
> consider putting it in your long term low priority que or reply with a PTC
> Thanks for the evaluation tuits ;-).
Right, it's an optimization problem rather than a bug. Patches
welcome, but I've put it on my TODO list, too.
Corinna Vinschen Please, send mails regarding Cygwin to
Cygwin Project Co-Leader cygwin AT cygwin DOT com
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Problem reports: http://cygwin.com/problems.html