lkml.org 
[lkml]   [2002]   [Feb]   [7]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    From
    SubjectRe: [PATCH] __free_pages_ok oops
    Date
    On February 7, 2002 02:27 pm, Rik van Riel wrote:
    > On Thu, 7 Feb 2002, Hugh Dickins wrote:
    >
    > > > if (PageLRU(page)) {
    > > > if (in_interrupt()) {
    > > > add_page_to_special_list(page);
    > > > return;
    > > > } else
    > > > lru_cache_del(page);
    > > > }
    > >
    > > If this were a common case where many pages end up, yes, we'd
    > > need a separate special list; but it's a very rare case
    >
    > Think of a web or ftp server doing nothing but sendfile()

    But still, you're

    > > I was proposing we revert to distinguishing page_cache_release
    > > from put_page, page_cache_release doing the lru_cache_del; and
    > > I'd like to add my in_interrupt() BUG() there for now, just as
    > > a sanity check. You are proposing that we keep the current,
    > > post-Ben, structure of doing it in __free_pages_ok if possible.
    >
    > So how exactly would pages be freed ?
    > You still need to do the check of whether the page can
    > be freed somewhere.

    He suggested letting shrink_caches find it. But since we already know the
    page is free there's no sense scanning for it, so on balance I think your
    approach is better. An atomic_put_page, used from any context that could end
    up in an interrupt, would be better yet, just because it imposes the extra
    check only on users that require it. Otoh, I did note davem's objection
    above.

    --
    Daniel
    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

    \
     
     \ /
      Last update: 2005-03-22 13:24    [W:0.024 / U:337.216 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site