lkml.org 
[lkml]   [2014]   [May]   [29]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH 06/14] perf tools: Cache dso data file descriptor
On Thu, May 29, 2014 at 09:02:36AM +0900, Namhyung Kim wrote:
> On Tue, 27 May 2014 09:37:38 +0200, Jiri Olsa wrote:
> > On Tue, May 27, 2014 at 10:05:28AM +0900, Namhyung Kim wrote:
> >> Hi Jiri,
> >>
> >> On Thu, 15 May 2014 19:23:27 +0200, Jiri Olsa wrote:
> >>
> >> [SNIP]
> >> > +static void data_close(void)
> >> > +{
> >> > + bool cache_fd = may_cache_fd();
> >> > +
> >> > + if (!cache_fd)
> >> > + close_first_dso();
> >> > +}
> >>
> >> Why do you do this at close()? As long as there's no attempt to open a
> >> new file, we can keep existing fd, no?
> >
> > so the way it works now is:
> >
> > - we keep up to the 'RLIMIT_NOFILE / 2' of open dso objects
> > - if we try to open dso and it fails, because we are out of
> > file descriptors, we close dso objects and try to reopen
> > (check do_open function)
> > - when we close the dso object we check if number of opened
> > dso objects is below 'RLIMIT_NOFILE / 2'.. if it is, we keep
> > the dso opened, if not we close first dso in the list
> >
> > util/dso.h tries to describe that
>
> Yes, I know. But my question is why do this at close()? Isn't it
> sufficient to check the file limit at open() and close previous one if
> necessary?

hm, it's still the same operation to be done either in open
or in close.. but we would not need dso__data_close then..
ok, I'll make the change ;-)

thanks,
jirka


\
 
 \ /
  Last update: 2014-05-29 11:41    [W:0.070 / U:1.612 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site