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
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to