* [patch] hugetlb: fix i_blocks accounting [not found] <b040c32a0711082343t2b94b495r1608d99ec0e28a4c@mail.gmail.com> @ 2007-11-09 17:31 ` Ken Chen [not found] ` <1194617837.14675.45.camel@localhost.localdomain> 1 sibling, 0 replies; 10+ messages in thread From: Ken Chen @ 2007-11-09 17:31 UTC (permalink / raw) To: linux-mm resent as I mistakenly bcc'ed linux-mm mailing list, where I really meant to cc. ---------- Forwarded message ---------- From: Ken Chen <kenchen@google.com> Date: Nov 8, 2007 11:43 PM Subject: [patch] hugetlb: fix i_blocks accounting To: Andrew Morton <akpm@linux-foundation.org>, Adam Litke <agl@us.ibm.com> rebase i_blocks bug fix on top of Adam's recent fs quota work. ------ For administrative purpose, we want to query actual block usage for hugetlbfs file via fstat. Currently, hugetlbfs always return 0. Fix that up since kernel already has all the information to track it properly. Signed-off-by: Ken Chen <kenchen@google.com> diff --git a/include/linux/hugetlb.h b/include/linux/hugetlb.h index 770dbed..65371bd 100644 --- a/include/linux/hugetlb.h +++ b/include/linux/hugetlb.h @@ -168,6 +168,8 @@ struct file *hugetlb_file_setup(const char *name, size_t); int hugetlb_get_quota(struct address_space *mapping, long delta); void hugetlb_put_quota(struct address_space *mapping, long delta); +#define BLOCKS_PER_HUGEPAGE (HPAGE_SIZE / 512) + static inline int is_file_hugepages(struct file *file) { if (file->f_op == &hugetlbfs_file_operations) diff --git a/mm/hugetlb.c b/mm/hugetlb.c index b58edd0..0d54370 100644 --- a/mm/hugetlb.c +++ b/mm/hugetlb.c @@ -801,6 +801,7 @@ retry: if (vma->vm_flags & VM_SHARED) { int err; + struct inode *inode = mapping->host; err = add_to_page_cache(page, mapping, idx, GFP_KERNEL); if (err) { @@ -809,6 +810,10 @@ retry: goto retry; goto out; } + + spin_lock(&inode->i_lock); + inode->i_blocks += BLOCKS_PER_HUGEPAGE; + spin_unlock(&inode->i_lock); } else lock_page(page); } @@ -1159,6 +1164,11 @@ int hugetlb_reserve_pages(struct inode *inode, long from, long to) void hugetlb_unreserve_pages(struct inode *inode, long offset, long freed) { long chg = region_truncate(&inode->i_mapping->private_list, offset); + + spin_lock(&inode->i_lock); + inode->i_blocks -= BLOCKS_PER_HUGEPAGE * freed; + spin_unlock(&inode->i_lock); + hugetlb_put_quota(inode->i_mapping, (chg - freed)); hugetlb_acct_memory(-(chg - freed)); } -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a> ^ permalink raw reply related [flat|nested] 10+ messages in thread
[parent not found: <1194617837.14675.45.camel@localhost.localdomain>]
* Re: [patch] hugetlb: fix i_blocks accounting [not found] ` <1194617837.14675.45.camel@localhost.localdomain> @ 2007-11-09 17:42 ` Ken Chen 2007-11-09 18:09 ` aglitke 0 siblings, 1 reply; 10+ messages in thread From: Ken Chen @ 2007-11-09 17:42 UTC (permalink / raw) To: aglitke; +Cc: Andrew Morton, linux-mm On Nov 9, 2007 6:17 AM, aglitke <agl@us.ibm.com> wrote: > > diff --git a/include/linux/hugetlb.h b/include/linux/hugetlb.h > > index 770dbed..65371bd 100644 > > --- a/include/linux/hugetlb.h > > +++ b/include/linux/hugetlb.h > > @@ -168,6 +168,8 @@ struct file *hugetlb_file_setup(const char *name, size_t); > > int hugetlb_get_quota(struct address_space *mapping, long delta); > > void hugetlb_put_quota(struct address_space *mapping, long delta); > > > > +#define BLOCKS_PER_HUGEPAGE (HPAGE_SIZE / 512) > > Sorry if this is an obvious question, but where does 512 above come > from? out of stat(2) man page: The st_blocks field indicates the number of blocks allocated to the file, 512-byte units. (This may be smaller than st_size/512, for example, when the file has holes.) I looked at what other fs do with the i_blocks field (ext2, tmpfs), they all follow the above convention, regardless what the underlying fs block size is or arch page size. > Is this just establishing a new convention that a block is equal > to 1/512th of whatever size a huge page happens to be? I'm trying to be consistent with other fs. > What about on > ia64 where the hugepage size is set at boot? Wouldn't that be confusing > to have the block size change between boots? What if we just make the > block size equal to PAGE_SIZE (which is a more stable quantity)? It shouldn't matter, as there is another field st_blksize which indicate block size for the filesystem. i_blocks is just an accounting on number of blocks allocated and it appears to me that it was intentionally set to 512 byte unit in the man page (to cut down confusion? I have no idea). - Ken -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a> ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [patch] hugetlb: fix i_blocks accounting 2007-11-09 17:42 ` Ken Chen @ 2007-11-09 18:09 ` aglitke 2007-11-10 1:16 ` Andrew Morton 0 siblings, 1 reply; 10+ messages in thread From: aglitke @ 2007-11-09 18:09 UTC (permalink / raw) To: Ken Chen; +Cc: Andrew Morton, linux-mm Thanks for that explanation. It makes complete sense to me now. On Fri, 2007-11-09 at 09:42 -0800, Ken Chen wrote: > On Nov 9, 2007 6:17 AM, aglitke <agl@us.ibm.com> wrote: > > > diff --git a/include/linux/hugetlb.h b/include/linux/hugetlb.h > > > index 770dbed..65371bd 100644 > > > --- a/include/linux/hugetlb.h > > > +++ b/include/linux/hugetlb.h > > > @@ -168,6 +168,8 @@ struct file *hugetlb_file_setup(const char *name, size_t); > > > int hugetlb_get_quota(struct address_space *mapping, long delta); > > > void hugetlb_put_quota(struct address_space *mapping, long delta); > > > > > > +#define BLOCKS_PER_HUGEPAGE (HPAGE_SIZE / 512) > > > > Sorry if this is an obvious question, but where does 512 above come > > from? > > out of stat(2) man page: > > The st_blocks field indicates the number of blocks allocated to the > file, 512-byte > units. (This may be smaller than st_size/512, for example, when > the file has > holes.) > > I looked at what other fs do with the i_blocks field (ext2, tmpfs), > they all follow the above convention, regardless what the underlying > fs block size is or arch page size. > > > Is this just establishing a new convention that a block is equal > > to 1/512th of whatever size a huge page happens to be? > > I'm trying to be consistent with other fs. > > > What about on > > ia64 where the hugepage size is set at boot? Wouldn't that be confusing > > to have the block size change between boots? What if we just make the > > block size equal to PAGE_SIZE (which is a more stable quantity)? > > It shouldn't matter, as there is another field st_blksize which > indicate block size for the filesystem. i_blocks is just an > accounting on number of blocks allocated and it appears to me that it > was intentionally set to 512 byte unit in the man page (to cut down > confusion? I have no idea). > > - Ken > -- Adam Litke - (agl at us.ibm.com) IBM Linux Technology Center -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a> ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [patch] hugetlb: fix i_blocks accounting 2007-11-09 18:09 ` aglitke @ 2007-11-10 1:16 ` Andrew Morton 2007-11-10 1:34 ` Ken Chen 0 siblings, 1 reply; 10+ messages in thread From: Andrew Morton @ 2007-11-10 1:16 UTC (permalink / raw) To: aglitke; +Cc: kenchen, linux-mm On Fri, 09 Nov 2007 12:09:57 -0600 aglitke <agl@us.ibm.com> wrote: > Thanks for that explanation. It makes complete sense to me now. We have a distressing number of hugetlb patches here: hugetlb-follow_hugetlb_page-for-write-access.patch hugetlb-allow-sticky-directory-mount-option.patch hugetlb-split-alloc_huge_page-into-private-and-shared-components.patch hugetlb-split-alloc_huge_page-into-private-and-shared-components-checkpatch-fixes.patch hugetlb-fix-quota-management-for-private-mappings.patch hugetlb-debit-quota-in-alloc_huge_page.patch hugetlb-allow-bulk-updating-in-hugetlb__quota.patch hugetlb-enforce-quotas-during-reservation-for-shared-mappings.patch mm-hugetlbc-make-a-function-static.patch hugetlb-fix-i_blocks-accounting.patch (all available at http://userweb.kernel.org/~akpm/mmotm/) Could we please put heads together and work out which of these need to go into 2.6.24? And 2.6.23, come to that... Thanks. -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a> ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [patch] hugetlb: fix i_blocks accounting 2007-11-10 1:16 ` Andrew Morton @ 2007-11-10 1:34 ` Ken Chen 2007-11-12 14:53 ` aglitke 0 siblings, 1 reply; 10+ messages in thread From: Ken Chen @ 2007-11-10 1:34 UTC (permalink / raw) To: Andrew Morton; +Cc: aglitke, linux-mm On Nov 9, 2007 5:16 PM, Andrew Morton <akpm@linux-foundation.org> wrote: > On Fri, 09 Nov 2007 12:09:57 -0600 > aglitke <agl@us.ibm.com> wrote: > > > Thanks for that explanation. It makes complete sense to me now. > > We have a distressing number of hugetlb patches here: > > hugetlb-follow_hugetlb_page-for-write-access.patch > hugetlb-allow-sticky-directory-mount-option.patch > hugetlb-split-alloc_huge_page-into-private-and-shared-components.patch > hugetlb-split-alloc_huge_page-into-private-and-shared-components-checkpatch-fixes.patch > hugetlb-fix-quota-management-for-private-mappings.patch > hugetlb-debit-quota-in-alloc_huge_page.patch > hugetlb-allow-bulk-updating-in-hugetlb__quota.patch > hugetlb-enforce-quotas-during-reservation-for-shared-mappings.patch > mm-hugetlbc-make-a-function-static.patch > hugetlb-fix-i_blocks-accounting.patch > > (all available at http://userweb.kernel.org/~akpm/mmotm/) > > Could we please put heads together and work out which of these need to go > into 2.6.24? And 2.6.23, come to that... I would vote all of it. If we really need to prioritize them, I would list them in the following order: 1. fs quota fix: hugetlb-split-alloc_huge_page-into-private-and-shared-components.patch hugetlb-split-alloc_huge_page-into-private-and-shared-components-checkpatch-fixes.patch hugetlb-fix-quota-management-for-private-mappings.patch hugetlb-debit-quota-in-alloc_huge_page.patch hugetlb-allow-bulk-updating-in-hugetlb__quota.patch hugetlb-enforce-quotas-during-reservation-for-shared-mappings.patch 2. i_blocks accounting hugetlb-fix-i_blocks-accounting.patch 3. follow_hugetlb_page (this is a rather nasty bug, I'm glad we haven't hit it in real world. Or maybe Adam did, and hence the patch?). hugetlb-follow_hugetlb_page-for-write-access.patch 4. others (these are really simple single line low risk patches, why not?) hugetlb-allow-sticky-directory-mount-option.patch mm-hugetlbc-make-a-function-static.patch oh, there are more bugs in hugetlb: sys_mincore isn't working on hugetlb range. I guess that can wait for 2.6.25. -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a> ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [patch] hugetlb: fix i_blocks accounting 2007-11-10 1:34 ` Ken Chen @ 2007-11-12 14:53 ` aglitke 0 siblings, 0 replies; 10+ messages in thread From: aglitke @ 2007-11-12 14:53 UTC (permalink / raw) To: Ken Chen; +Cc: Andrew Morton, linux-mm On Fri, 2007-11-09 at 17:34 -0800, Ken Chen wrote: > On Nov 9, 2007 5:16 PM, Andrew Morton <akpm@linux-foundation.org> wrote: > > On Fri, 09 Nov 2007 12:09:57 -0600 > > aglitke <agl@us.ibm.com> wrote: > > > > > Thanks for that explanation. It makes complete sense to me now. > > > > We have a distressing number of hugetlb patches here: > > > > hugetlb-follow_hugetlb_page-for-write-access.patch > > hugetlb-allow-sticky-directory-mount-option.patch > > hugetlb-split-alloc_huge_page-into-private-and-shared-components.patch > > hugetlb-split-alloc_huge_page-into-private-and-shared-components-checkpatch-fixes.patch > > hugetlb-fix-quota-management-for-private-mappings.patch > > hugetlb-debit-quota-in-alloc_huge_page.patch > > hugetlb-allow-bulk-updating-in-hugetlb__quota.patch > > hugetlb-enforce-quotas-during-reservation-for-shared-mappings.patch > > mm-hugetlbc-make-a-function-static.patch > > hugetlb-fix-i_blocks-accounting.patch > > > > (all available at http://userweb.kernel.org/~akpm/mmotm/) > > > > Could we please put heads together and work out which of these need to go > > into 2.6.24? And 2.6.23, come to that... > > I would vote all of it. If we really need to prioritize them, I would > list them in the following order: I agree that all of them are ready to go for 2.6.24. I don't think #3 (follow_hugetlb_page fix) meets the criteria for a -stable patch otherwise I'd have suggested it go forth into 2.6.23. > 1. fs quota fix: > hugetlb-split-alloc_huge_page-into-private-and-shared-components.patch > hugetlb-split-alloc_huge_page-into-private-and-shared-components-checkpatch-fixes.patch > hugetlb-fix-quota-management-for-private-mappings.patch > hugetlb-debit-quota-in-alloc_huge_page.patch > hugetlb-allow-bulk-updating-in-hugetlb__quota.patch > hugetlb-enforce-quotas-during-reservation-for-shared-mappings.patch > > 2. i_blocks accounting > hugetlb-fix-i_blocks-accounting.patch > > 3. follow_hugetlb_page (this is a rather nasty bug, I'm glad we > haven't hit it in real world. Or maybe Adam did, and hence the > patch?). We're starting to see this with the infiniband driver. They have a workaround (to touch each hugepage in userspace before handing it to the driver), but the sooner it gets fixed upstream, the better obviously. > hugetlb-follow_hugetlb_page-for-write-access.patch > > 4. others (these are really simple single line low risk patches, why not?) > hugetlb-allow-sticky-directory-mount-option.patch > mm-hugetlbc-make-a-function-static.patch > > oh, there are more bugs in hugetlb: sys_mincore isn't working on > hugetlb range. I guess that can wait for 2.6.25. > -- Adam Litke - (agl at us.ibm.com) IBM Linux Technology Center -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a> ^ permalink raw reply [flat|nested] 10+ messages in thread
* [patch] hugetlb: fix i_blocks accounting @ 2007-10-20 18:18 Ken Chen 2007-10-23 14:52 ` Adam Litke 0 siblings, 1 reply; 10+ messages in thread From: Ken Chen @ 2007-10-20 18:18 UTC (permalink / raw) To: Andrew Morton; +Cc: linux-mm For administrative purpose, we want to query actual block usage for hugetlbfs file via fstat. Currently, hugetlbfs always return 0. Fix that up since kernel already has all the information to track it properly. Signed-off-by: Ken Chen <kenchen@google.com> diff --git a/fs/hugetlbfs/inode.c b/fs/hugetlbfs/inode.c index 12aca8e..ed6def0 100644 --- a/fs/hugetlbfs/inode.c +++ b/fs/hugetlbfs/inode.c @@ -862,7 +862,8 @@ out_free: int hugetlb_get_quota(struct address_space *mapping) { int ret = 0; - struct hugetlbfs_sb_info *sbinfo = HUGETLBFS_SB(mapping->host->i_sb); + struct inode *inode = mapping->host; + struct hugetlbfs_sb_info *sbinfo = HUGETLBFS_SB(inode->i_sb); if (sbinfo->free_blocks > -1) { spin_lock(&sbinfo->stat_lock); @@ -873,13 +874,17 @@ int hugetlb_get_quota(struct address_space *mapping) spin_unlock(&sbinfo->stat_lock); } + if (!ret) + inode->i_blocks += BLOCKS_PER_HUGEPAGE; return ret; } void hugetlb_put_quota(struct address_space *mapping) { - struct hugetlbfs_sb_info *sbinfo = HUGETLBFS_SB(mapping->host->i_sb); + struct inode *inode = mapping->host; + struct hugetlbfs_sb_info *sbinfo = HUGETLBFS_SB(inode->i_sb); + inode->i_blocks -= BLOCKS_PER_HUGEPAGE; if (sbinfo->free_blocks > -1) { spin_lock(&sbinfo->stat_lock); sbinfo->free_blocks++; diff --git a/include/linux/hugetlb.h b/include/linux/hugetlb.h index ea0f50b..694cf8b 100644 --- a/include/linux/hugetlb.h +++ b/include/linux/hugetlb.h @@ -168,6 +168,8 @@ struct file *hugetlb_file_setup(const char *name, size_t); int hugetlb_get_quota(struct address_space *mapping); void hugetlb_put_quota(struct address_space *mapping); +#define BLOCKS_PER_HUGEPAGE (HPAGE_SIZE / 512) + static inline int is_file_hugepages(struct file *file) { if (file->f_op == &hugetlbfs_file_operations) -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a> ^ permalink raw reply related [flat|nested] 10+ messages in thread
* Re: [patch] hugetlb: fix i_blocks accounting 2007-10-20 18:18 Ken Chen @ 2007-10-23 14:52 ` Adam Litke 2007-10-24 0:34 ` Ken Chen 0 siblings, 1 reply; 10+ messages in thread From: Adam Litke @ 2007-10-23 14:52 UTC (permalink / raw) To: Ken Chen; +Cc: Andrew Morton, linux-mm On Sat, 2007-10-20 at 11:18 -0700, Ken Chen wrote: > For administrative purpose, we want to query actual block usage for > hugetlbfs file via fstat. Currently, hugetlbfs always return 0. Fix > that up since kernel already has all the information to track it > properly. Hey Ken. You might want to wait on this for another minute or two. I will be sending out patches later today to fix up hugetlbfs quotas. Right now the code does not handle private mappings correctly (ie. it does not call get_quota() for COW pages and it never calls put_quota() for any private page). Because of this, your i_blocks number will be wrong most of the time. -- Adam Litke - (agl at us.ibm.com) IBM Linux Technology Center -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a> ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [patch] hugetlb: fix i_blocks accounting 2007-10-23 14:52 ` Adam Litke @ 2007-10-24 0:34 ` Ken Chen 2007-10-24 13:06 ` Adam Litke 0 siblings, 1 reply; 10+ messages in thread From: Ken Chen @ 2007-10-24 0:34 UTC (permalink / raw) To: Adam Litke; +Cc: Andrew Morton, linux-mm On 10/23/07, Adam Litke <agl@us.ibm.com> wrote: > On Sat, 2007-10-20 at 11:18 -0700, Ken Chen wrote: > > For administrative purpose, we want to query actual block usage for > > hugetlbfs file via fstat. Currently, hugetlbfs always return 0. Fix > > that up since kernel already has all the information to track it > > properly. > > Hey Ken. You might want to wait on this for another minute or two. I > will be sending out patches later today to fix up hugetlbfs quotas. > Right now the code does not handle private mappings correctly (ie. it > does not call get_quota() for COW pages and it never calls put_quota() > for any private page). Because of this, your i_blocks number will be > wrong most of the time. Adam, speaking of hugetlb file system quota, there is another bug in there for shared mapping as well. At the time of mmap (MMAP_SHARED), kernel only check page reservation against available hugetlb page pool. FS quota is not checked at all. Now we over commit the fs quota for shared mapping, but still let the mmap to succeed. At later point in the page fault path, app will eventually die with SIGBUS due to lack of fs quota. This behavior broke a few apps for us. The bad part is there is no easy recovery path once a SIGBUS is raised. I tried with MAP_POPULATE, but unfortunately it doesn't propagate error code back up to user space on mmap; same thing with mlockall that also ignores error code returned from make_pages_present(). Using mlock is at best half baked because VM_LOCKED maybe already set via other means. So this fs quota thing really needs some love and attention. - Ken -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a> ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [patch] hugetlb: fix i_blocks accounting 2007-10-24 0:34 ` Ken Chen @ 2007-10-24 13:06 ` Adam Litke 0 siblings, 0 replies; 10+ messages in thread From: Adam Litke @ 2007-10-24 13:06 UTC (permalink / raw) To: Ken Chen; +Cc: Andrew Morton, linux-mm On Tue, 2007-10-23 at 17:34 -0700, Ken Chen wrote: > On 10/23/07, Adam Litke <agl@us.ibm.com> wrote: > > On Sat, 2007-10-20 at 11:18 -0700, Ken Chen wrote: > > > For administrative purpose, we want to query actual block usage for > > > hugetlbfs file via fstat. Currently, hugetlbfs always return 0. Fix > > > that up since kernel already has all the information to track it > > > properly. > > > > Hey Ken. You might want to wait on this for another minute or two. I > > will be sending out patches later today to fix up hugetlbfs quotas. > > Right now the code does not handle private mappings correctly (ie. it > > does not call get_quota() for COW pages and it never calls put_quota() > > for any private page). Because of this, your i_blocks number will be > > wrong most of the time. > > Adam, speaking of hugetlb file system quota, there is another bug in > there for shared mapping as well. Yep ;) I already have a fix for that too in this series. Coming right up. > At the time of mmap (MMAP_SHARED), kernel only check page reservation > against available hugetlb page pool. FS quota is not checked at all. > Now we over commit the fs quota for shared mapping, but still let the > mmap to succeed. At later point in the page fault path, app will > eventually die with SIGBUS due to lack of fs quota. This behavior > broke a few apps for us. The bad part is there is no easy recovery > path once a SIGBUS is raised. > > I tried with MAP_POPULATE, but unfortunately it doesn't propagate > error code back up to user space on mmap; same thing with mlockall > that also ignores error code returned from make_pages_present(). > Using mlock is at best half baked because VM_LOCKED maybe already set > via other means. > > So this fs quota thing really needs some love and attention. Yep, now that we are actually starting to use it... -- Adam Litke - (agl at us.ibm.com) IBM Linux Technology Center -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a> ^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2007-11-12 14:52 UTC | newest]
Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <b040c32a0711082343t2b94b495r1608d99ec0e28a4c@mail.gmail.com>
2007-11-09 17:31 ` [patch] hugetlb: fix i_blocks accounting Ken Chen
[not found] ` <1194617837.14675.45.camel@localhost.localdomain>
2007-11-09 17:42 ` Ken Chen
2007-11-09 18:09 ` aglitke
2007-11-10 1:16 ` Andrew Morton
2007-11-10 1:34 ` Ken Chen
2007-11-12 14:53 ` aglitke
2007-10-20 18:18 Ken Chen
2007-10-23 14:52 ` Adam Litke
2007-10-24 0:34 ` Ken Chen
2007-10-24 13:06 ` Adam Litke
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).