On Thu, 24 Feb 2000, Andrea Arcangeli wrote:
> On Thu, 24 Feb 2000, Ingo Molnar wrote:
>
> >something like:
> >
> > + if (current->need_resched) {
> > + INODE(tmp)->i_count++;
> > + spin_unlock(&inode_lock);
> > + schedule();
> > + iput(tmp);
> > + goto repeat;
> >
> >is there any problem with this?
>
> It has the same problem as buffer cache if browsing the whole list takes
> more than one timeslice. With inodes this shouldn't happen in RL though. I
> think it should work. The repeat has to restart from the top of the list
> to revalidate "entry".
>
> A more correct approch probably would be to allow "goto repeat" only at
> once to avoid the deadlock condition in R state.
>
Would it also be correct to allow "goto repeat" only one time for the
buffer cache?
Also, with this method, is it necessary to process bottom halfs after
b_count--?
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 Feb 29 2000 - 21:00:10 EST