Messages in this thread | | | Date | Sun, 28 Jul 2002 20:51:13 -0700 (PDT) | From | Linus Torvalds <> | Subject | Re: [patch 2/13] remove pages from the LRU in __free_pages_ok() |
| |
On Sun, 28 Jul 2002, David S. Miller wrote: > > Also skb_release_data(), ___pskb_trim() and __pskb_pull_tail(). Can these > ever perform the final release against a page which is on the LRU? > In interrupt context? > > These page releases run from either user or softint context. > > They must never run from HW irqs, in fact there is a BUG() > check there against this.
From a page cache standpoint softirq's are 100% equivalent to hardware irq's, so that doesn't much help here.
> Any page that can be found in the page cache can end up here. So > whatever that mean for "release against a page which is on the LRU" > applies here.
Being in the page cache can be ok. What is _not_ ok is if this function can ever be the last user to release such a page (ie the original page count of the page had better be held on by something else - which usually is the page-cacheness itself, since shrinking the page cache will only happen for pages that are unused).
Linus
- 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/
| |