lkml.org 
[lkml]   [2021]   [Apr]   [14]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH 00/13] [RFC] Rust support
    On Wed, Apr 14, 2021 at 08:45:51PM +0200, ojeda@kernel.org wrote:
    > - Manish Goregaokar implemented the fallible `Box`, `Arc`, and `Rc`
    > allocator APIs in Rust's `alloc` standard library for us.

    There's a philosophical point to be discussed here which you're skating
    right over! Should rust-in-the-linux-kernel provide the same memory
    allocation APIs as the rust-standard-library, or should it provide a Rusty
    API to the standard-linux-memory-allocation APIs? You seem to be doing
    both ... there was a wrapper around alloc_pages() in the Binder patches,
    and then you talk about Box, Arc and Rc here.

    Maybe there's some details about when one can use one kind of API and
    when to use another. But I fear that we'll have Rust code at interrupt
    level trying to use allocators which assume that they can sleep, and
    things will go badly wrong.

    By the way, I don't think that Rust necessarily has to conform to the
    current way that Linux works. If this prompted us to track the current
    context (inside spinlock, handling interrupt, performing writeback, etc)
    and do away with (some) GFP flags, that's not the end of the world.
    We're already moving in that direction to a certain extent with the
    scoped memory allocation APIs to replace GFP_NOFS / GFP_NOIO.

    \
     
     \ /
      Last update: 2021-04-14 22:11    [W:2.144 / U:0.008 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site