Re: lowlatency-2.2.14-B1 + 2.2.14aa7 fixes crash, but...

From: William Montgomery (william@opinicus.com)
Date: Wed Mar 01 2000 - 11:19:30 EST


On Mon, 28 Feb 2000, Andrea Arcangeli wrote:

> This is the diff for the free_inode conditional schedule. The spin_unlock
> thing probably couldn't harm since such code is all under the big kernel
> lock too in 2.2.x.
>
[snip...]
> list_entry(tmp, struct inode, i_list)->i_state = I_FREEING;
> found++;
> +
> + if (current->need_resched && !resched) {
> + INODE(tmp)->i_count++;
> + spin_unlock(&inode_lock);
> +
> + schedule();
> + iput(INODE(tmp));
> +
> + spin_lock(&inode_lock);
> + resched = 1;
> + goto again;
> + }
> }
>
> return found;

Why did you move the resched code out of the "if (!CAN_UNUSE(INODE(tmp)))"
conditional? Won't that make the code less likely to be executed and
increase scheduling latency?

Wm

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Tue Mar 07 2000 - 21:00:09 EST