diff --git a/fs/proc/base.c b/fs/proc/base.c
index 433a01d2e9922e5573b9cee5555079916457d55e..a317eb2c44421d5b8aad0c7ad71e9263c69c10dd 100644
--- a/fs/proc/base.c
+++ b/fs/proc/base.c
@@ -1057,6 +1057,18 @@ static struct dentry_operations pid_dentry_operations =
 
 typedef struct dentry *instantiate_t(struct inode *, struct dentry *, struct task_struct *, void *);
 
+/*
+ * Fill a directory entry.
+ *
+ * If possible create the dcache entry and derive our inode number and
+ * file type from dcache entry.
+ *
+ * Since all of the proc inode numbers are dynamically generated, the inode
+ * numbers do not exist until the inode is cache.  This means creating the
+ * the dcache entry in readdir is necessary to keep the inode numbers
+ * reported by readdir in sync with the inode numbers reported
+ * by stat.
+ */
 static int proc_fill_cache(struct file *filp, void *dirent, filldir_t filldir,
 	char *name, int len,
 	instantiate_t instantiate, struct task_struct *task, void *ptr)