1. 25 Feb, 2002 4 commits
    • Alexander Viro's avatar
      [PATCH] (1/3) fs/super.c cleanups · ad9e3359
      Alexander Viro authored
      * missing yield() added to grab_super() (on failure exit).  Without
        that we have a nasty race - if get_sb_bdev() happens just before
        we grab ->s_umount in kill_super(), we are going to have
        get_sb_bdev() spinning indefinitely long without yielding CPU,
        so that kill_super() could make progress (and break the loop).
      
      * in kill_super() code that does actual superblock shutdown is
        wrapped in if (sb->s_root) {}.  That condition is true for
        all old callers of kill_super(), so we don't change existing
        behaviour.
      
      * instances of deactivate_super()/remove_super() (after failed
        call of foo_fill_super()) are replaced with
      	up_write(&s->s_umount);
      	kill_super(s);
        - now it becomes legitimate (kill_super() works on such guys and
        does exactly what we want).
      ad9e3359
    • Linus Torvalds's avatar
      Update kernel version and defconfig · dbd56307
      Linus Torvalds authored
      dbd56307
    • Linus Torvalds's avatar
      Merge home:v2.5/linux · 5c58f77a
      Linus Torvalds authored
      into penguin.transmeta.com:/home/penguin/torvalds/repositories/kernel/linux
      5c58f77a
    • Alexander Viro's avatar
      [PATCH] Re: [BUGFIX] handling bad inodes in 2.4.x kernels (fwd) · 6c4ce4b9
      Alexander Viro authored
      here's much simpler fix (both 2.4 and 2.5):
      6c4ce4b9
  2. 23 Feb, 2002 2 commits
    • Ingo Molnar's avatar
      - cleanup patch from Hugh Dickins, fix up drivers to use vmalloc_to_page()... · 33110a83
      Ingo Molnar authored
      - cleanup patch from Hugh Dickins, fix up drivers to use vmalloc_to_page() instead of local hacks of uvirt_to_kva(). (and related fixes.)
      33110a83
    • Ingo Molnar's avatar
      · 38432d05
      Ingo Molnar authored
      - new, less intrusive and faster migration method:
      
      /*
       * This is how migration works:
       *
       * 1) we queue a migration_req_t structure in the source CPU's
       *    runqueue and wake up that CPU's migration thread.
       * 2) we down() the locked semaphore => thread blocks.
       * 3) migration thread wakes up (implicitly it forces the migrated
       *    thread off the CPU)
       * 4) it gets the migration request and checks whether the migrated
       *    task is still in the wrong runqueue.
       * 5) if it's in the wrong runqueue then the migration thread removes
       *    it and puts it into the right queue.
       * 6) migration thread up()s the semaphore.
       * 7) we wake up and the migration is done.
       */
      38432d05
  3. 21 Feb, 2002 19 commits
  4. 20 Feb, 2002 15 commits