From da7553b1a1f7e2714111426742b85161780e088b Mon Sep 17 00:00:00 2001 From: green Date: Mon, 3 May 2004 19:33:00 +0000 Subject: [PATCH] Updated to HEAD --- lustre/llite/llite_internal.h | 27 ++++++++++++++------------- 1 file changed, 14 insertions(+), 13 deletions(-) diff --git a/lustre/llite/llite_internal.h b/lustre/llite/llite_internal.h index 9100756..35b9ce5 100644 --- a/lustre/llite/llite_internal.h +++ b/lustre/llite/llite_internal.h @@ -10,27 +10,24 @@ #ifndef LLITE_INTERNAL_H #define LLITE_INTERNAL_H +/* default to about 40meg of readahead on a given system. That much tied + * up in 512k readahead requests serviced at 40ms each is about 1GB/s. */ +#define SBI_DEFAULT_RA_MAX ((40 << 20) >> PAGE_CACHE_SHIFT) + struct ll_sb_info { + /* this protects pglist and max_r_a_pages. It isn't safe to + * grab from interrupt contexts */ + spinlock_t ll_lock; struct obd_uuid ll_sb_uuid; -// struct lustre_handle ll_mdc_conn; struct obd_export *ll_mdc_exp; struct obd_export *ll_osc_exp; struct proc_dir_entry* ll_proc_root; obd_id ll_rootino; /* number of root inode */ - struct obd_uuid ll_mds_uuid; - struct obd_uuid ll_mds_peer_uuid; struct lustre_mount_data *ll_lmd; char *ll_instance; int ll_flags; - wait_queue_head_t ll_commitcbd_waitq; - wait_queue_head_t ll_commitcbd_ctl_waitq; - int ll_commitcbd_flags; - struct task_struct *ll_commitcbd_thread; - time_t ll_commitcbd_waketime; - time_t ll_commitcbd_timeout; - spinlock_t ll_commitcbd_lock; struct list_head ll_conn_chain; /* per-conn chain of SBs */ struct hlist_head ll_orphan_dentry_list; /*please don't ask -p*/ @@ -38,10 +35,12 @@ struct ll_sb_info { struct lprocfs_stats *ll_stats; /* lprocfs stats counter */ - spinlock_t ll_pglist_lock; unsigned long ll_pglist_gen; struct list_head ll_pglist; + unsigned long ll_read_ahead_pages; + unsigned long ll_max_read_ahead_pages; + /* list of GNS mounts; protected by the dcache_lock */ struct list_head ll_mnt_list; @@ -59,7 +58,10 @@ struct ll_sb_info { struct ll_readahead_state { spinlock_t ras_lock; - unsigned long ras_last, ras_window, ras_next_index; + unsigned long ras_last_readpage, ras_consecutive; + unsigned long ras_window_start, ras_window_len; + unsigned long ras_next_readahead; + }; extern kmem_cache_t *ll_file_data_slab; @@ -163,7 +165,6 @@ int ll_commit_write(struct file *, struct page *, unsigned from, unsigned to); void ll_inode_fill_obdo(struct inode *inode, int cmd, struct obdo *oa); void ll_ap_completion(void *data, int cmd, struct obdo *oa, int rc); void ll_removepage(struct page *page); -int ll_sync_page(struct page *page); int ll_readpage(struct file *file, struct page *page); struct ll_async_page *llap_from_cookie(void *cookie); struct ll_async_page *llap_from_page(struct page *page); -- 1.8.3.1