Skip to content
  • Linus Torvalds's avatar
    vfs: use __getname/__putname for getcwd() system call · 3272c544
    Linus Torvalds authored
    
    
    It's a pathname.  It should use the pathname allocators and
    deallocators, and PATH_MAX instead of PAGE_SIZE.  Never mind that the
    two are commonly the same.
    
    With this, the allocations scale up nicely too, and I can do getcwd()
    system calls at a rate of about 300M/s, with no lock contention
    anywhere.
    
    Of course, nobody sane does that, especially since getcwd() is
    traditionally a very slow operation in Unix.  But this was also the
    simplest way to benchmark the prepend_path() improvements by Waiman, and
    once I saw the profiles I couldn't leave it well enough alone.
    
    But apart from being an performance improvement (from using per-cpu slab
    allocators instead of the raw page allocator), it's actually a valid and
    real cleanup.
    
    Signed-off-by: default avatarLinus "OCD" Torvalds <torvalds@linux-foundation.org>
    3272c544