* Fw: Linux v2.5.54
@ 2003-01-03 8:40 dada1
2003-01-03 9:26 ` Andrew Morton
0 siblings, 1 reply; 3+ messages in thread
From: dada1 @ 2003-01-03 8:40 UTC (permalink / raw)
To: Linus Torvalds, Kernel Mailing List
> o remove hugetlb syscalls
So finally they did it ...
But mmap(NULL, ...) is not yet supported, this is really sad.
And arch/i386/Kconfig and Documentation/vm/hugetlbpage.txt still document
the sys_alloc_hugepages()/sys_free_hugepages() syscalls.
A simple program that doesnt know at all how the memory is layed out by
kernel/glibc can not easily get some 4Mo pages in a single syscall.
sys_alloc_hugepage() was very convenient for that.
Another problem :
if you mount hugetlbfs in /huge, then create a file /huge/BIG of size 4Mo,
then use :
dd if=/huge/BIG of=/dev/null
the dd process hangs on 'D' state : the read() syscall just hang forever.
Thanks
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: Fw: Linux v2.5.54
2003-01-03 8:40 Fw: Linux v2.5.54 dada1
@ 2003-01-03 9:26 ` Andrew Morton
2003-01-03 9:55 ` William Lee Irwin III
0 siblings, 1 reply; 3+ messages in thread
From: Andrew Morton @ 2003-01-03 9:26 UTC (permalink / raw)
To: dada1, William Lee Irwin III; +Cc: Linus Torvalds, Kernel Mailing List
dada1 wrote:
>
> > o remove hugetlb syscalls
>
> So finally they did it ...
>
> But mmap(NULL, ...) is not yet supported, this is really sad.
Bill, this appears to be a matter of implementing a suitable ->get_unmapped_area()
within hugetlbfs?
> And arch/i386/Kconfig and Documentation/vm/hugetlbpage.txt still document
> the sys_alloc_hugepages()/sys_free_hugepages() syscalls.
OK.
> A simple program that doesnt know at all how the memory is layed out by
> kernel/glibc can not easily get some 4Mo pages in a single syscall.
> sys_alloc_hugepage() was very convenient for that.
Well. One would expect userspace library functions to emerge. The
glibc people take patches.
> Another problem :
>
> if you mount hugetlbfs in /huge, then create a file /huge/BIG of size 4Mo,
> then use :
>
> dd if=/huge/BIG of=/dev/null
>
> the dd process hangs on 'D' state : the read() syscall just hang forever.
>
erk. Thanks.
--- 25/fs/hugetlbfs/inode.c~hugetlbfs_readpage-fix Fri Jan 3 01:04:42 2003
+++ 25-akpm/fs/hugetlbfs/inode.c Fri Jan 3 01:04:49 2003
@@ -79,6 +79,7 @@ static int hugetlbfs_file_mmap(struct fi
*/
static int hugetlbfs_readpage(struct file *file, struct page * page)
{
+ unlock_page(page);
return -EINVAL;
}
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: Fw: Linux v2.5.54
2003-01-03 9:26 ` Andrew Morton
@ 2003-01-03 9:55 ` William Lee Irwin III
0 siblings, 0 replies; 3+ messages in thread
From: William Lee Irwin III @ 2003-01-03 9:55 UTC (permalink / raw)
To: Andrew Morton; +Cc: dada1, Linus Torvalds, Kernel Mailing List
dada1 wrote:
>> So finally they did it ...
>> But mmap(NULL, ...) is not yet supported, this is really sad.
On Fri, Jan 03, 2003 at 01:26:31AM -0800, Andrew Morton wrote:
> Bill, this appears to be a matter of implementing a suitable
> ->get_unmapped_area() within hugetlbfs?
At the time of hugetlbfs' integration, it was desirable to be
minimalistic and the additional logic for placement had no clear
motivation, as both privilege and great self-awareness were assumed
of the applications using hugetlbfs. Since then, it's become apparent
that this placement logic is a requirement for userspace support.
Apologies in advance for great tardiness; however, I'll send in patches
implementing in-kernel automatic hugetlb vma placement within 36 hours.
dada1 wrote:
>> And arch/i386/Kconfig and Documentation/vm/hugetlbpage.txt still document
>> the sys_alloc_hugepages()/sys_free_hugepages() syscalls.
Documentation updates are also essential, they will also follow shortly,
in tandem with the automatic vma placement.
dada1 wrote:
>> A simple program that doesnt know at all how the memory is layed out by
>> kernel/glibc can not easily get some 4Mo pages in a single syscall.
>> sys_alloc_hugepage() was very convenient for that.
On Fri, Jan 03, 2003 at 01:26:31AM -0800, Andrew Morton wrote:
> Well. One would expect userspace library functions to emerge. The
> glibc people take patches.
Ulrich Drepper has already accepted a glibc patch integrating the
SHM_HUGETLB flag into glibc. dada1, I'm hopeful your distribution will
provide you with an upgrade path to a glibc version implementing it soon,
or that you'll otherwise be able to upgrade to a cvs glibc version.
dada1 wrote:
>> Another problem :
>> if you mount hugetlbfs in /huge, then create a file /huge/BIG of size 4Mo,
>> then use :
>> dd if=/huge/BIG of=/dev/null
>> the dd process hangs on 'D' state : the read() syscall just hang forever.
On Fri, Jan 03, 2003 at 01:26:31AM -0800, Andrew Morton wrote:
> erk. Thanks.
> --- 25/fs/hugetlbfs/inode.c~hugetlbfs_readpage-fix Fri Jan 3 01:04:42 2003
> +++ 25-akpm/fs/hugetlbfs/inode.c Fri Jan 3 01:04:49 2003
> @@ -79,6 +79,7 @@ static int hugetlbfs_file_mmap(struct fi
> */
> static int hugetlbfs_readpage(struct file *file, struct page * page)
> {
> + unlock_page(page);
> return -EINVAL;
> }
This fix is trivially correct; thanks for finding and addressing it.
Linus, please apply.
Thanks for the testing, bugreports, and fixes!
Thanks,
Bill
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2003-01-03 9:47 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2003-01-03 8:40 Fw: Linux v2.5.54 dada1
2003-01-03 9:26 ` Andrew Morton
2003-01-03 9:55 ` William Lee Irwin III
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox