lkml.org 
[lkml]   [2001]   [Apr]   [20]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: RFC: pageable kernel-segments
    Hi,

    On Tue, Apr 17, 2001 at 12:21:17PM -0700, H. Peter Anvin wrote:

    > > Certain parts of drivers could get the __pageable prefix or so
    > > (like the __init parts of drivers which get removed) for letting
    > > the paging-code know that it can be discared if memory-pressure
    > > demands it.
    >
    > VMS does this. It at least used to have a great tendency to crash
    > itself, because it swapped out something that was called from a driver
    > that was called by the swapper -- resulting in deadlock. You need
    > iron discipline for this to work right in all circumstances.

    Actually, VMS doesn't do this, precisely because it is so hard to get
    right. VMS has both paged and non-paged pools for dynamically
    allocated kernel memory, but the kernel code itself is non-pageable.

    The big problem with such pageable memory isn't really device driver
    deadlocks --- the easy rule which makes that work is simply never to
    use paged pool from a driver which might be involved in swapping. :)
    Even more tricky is the handling of kernel locking --- you cannot
    access any paged memory with a spinlock held unless you have pinned
    the pages in core beforehand.

    --Stephen
    -
    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:27    [W:4.489 / U:0.004 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site