lkml.org 
[lkml]   [2000]   [Feb]   [28]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: lowlatency-2.2.14-B1 + 2.2.14aa7 fixes crash, but...
On Mon, 28 Feb 2000, William Montgomery wrote:

>repeat:
> entry = inode_in_use.next;
> while (entry != &inode_in_use) {
> struct list_head *tmp = entry;
> /*
> * Tough one to time-limit ...
> */
> entry = entry->next;
> if (!CAN_UNUSE(INODE(tmp))) {
> if (current->need_resched) {
> INODE(tmp)->i_count++;
> spin_unlock(&inode_lock);
> schedule();
> iput(tmp);
> if (repeat_count) {
> repeat_count--;

spin_lock() missing here.

> goto repeat;
> }
> }
> continue;
> }
> list_del(tmp);
> list_del(&INODE(tmp)->i_hash);
> INIT_LIST_HEAD(&INODE(tmp)->i_hash);
> list_add(tmp, freeable);
> list_entry(tmp, struct inode, i_list)->i_state = I_FREEING;
> found++;
> if (!--count)
> break;
> }
>
>It appears Andrea has put in a lowlatency enhancement already in this
>code by only allowing 128 inodes to be freed at a time. Perhaps we

the 2.2.x problem is that to free 128 inodes you risk to browse the whole
in_use list ;)

Andrea


-
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/

\
 
 \ /
  Last update: 2005-03-22 13:56    [W:0.160 / U:1.768 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site