lkml.org 
[lkml]   [2007]   [Jan]   [11]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: O_DIRECT question
    On 1/11/07, Aubrey <aubreylee@gmail.com> wrote:
    > Firstly I want to say I'm working on no-mmu arch and uClinux.
    > After much of file operations VFS cache eat up all of the memory.
    > At this time, if an application request memory which order > 3, the
    > kernel will report failure.
    >
    > uClinux use a memory mapped MTD driver to store rootfs, of course it's
    > in the ram,
    > So I don't need VFS cache to improve performance. And when order > 3,
    > __alloc_page() even doesn't try to shrunk cache and slab, just report
    > failure.
    >
    > So my thought is remove cache, or limit it. But currently there seems
    > to be no way in the kernel to do it. So I want to try to use
    > O_DIRECT. But it seems not to be a right way.
    One possibility might be to poke the open method in struct
    file_operations of your fs like

    static int my_open_file(struct inode *inode, struct file *filp)
    {
    filp->f_flags |= O_DIRECT;
    ...
    }

    which is a nasty thing to do but might give you an idea of what happens next.

    Regards,
    --
    I like long walks, especially when they are taken by people who annoy me.
    -
    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: 2007-01-11 07:45    [W:2.705 / U:0.296 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site