* Re: iounmap() - can't always unmap memory I've mappedt [not found] <20000929222813Z129135-481+1113@vger.kernel.org> @ 2000-09-29 23:24 ` Alan Cox 0 siblings, 0 replies; 3+ messages in thread From: Alan Cox @ 2000-09-29 23:24 UTC (permalink / raw) To: Timur Tabi; +Cc: Linux Kernel Mailing list, Linux MM mailing list > Unfortunately, this mapping is a requirement for our product. I'd hate to have > to create my own pte's and do it all manually. If you are doing it at boot time as Id expect then you may need to - the SMP code for bootstrapping has to do pte stuff itself for the same reason -- 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.eu.org/Linux-MM/ ^ permalink raw reply [flat|nested] 3+ messages in thread
[parent not found: <20000929221109Z129234-481+1111@vger.kernel.org>]
* Re: iounmap() - can't always unmap memory I've mappedt [not found] <20000929221109Z129234-481+1111@vger.kernel.org> @ 2000-09-29 22:00 ` Alan Cox 2000-09-29 22:12 ` Timur Tabi 0 siblings, 1 reply; 3+ messages in thread From: Alan Cox @ 2000-09-29 22:00 UTC (permalink / raw) To: Timur Tabi; +Cc: Linux Kernel Mailing list, Linux MM mailing list > "num_pages" is usually just equal to 1. This code appears to work very well. > However, when I call the iounmap function on the memory obtained via > ioremap_nocache, sometimes I hit a kernel BUG(). The code which causes the bug > is in page_alloc.c, line 85 (in function __free_pages_ok): > > if (page->buffers) > BUG(); This sounds like you are trying to do maps on pages that are in use. No can do -- 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.eu.org/Linux-MM/ ^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: iounmap() - can't always unmap memory I've mappedt 2000-09-29 22:00 ` Alan Cox @ 2000-09-29 22:12 ` Timur Tabi 0 siblings, 0 replies; 3+ messages in thread From: Timur Tabi @ 2000-09-29 22:12 UTC (permalink / raw) To: Linux Kernel Mailing list, Linux MM mailing list ** Reply to message from Alan Cox <alan@lxorguk.ukuu.org.uk> on Fri, 29 Sep 2000 23:00:16 +0100 (BST) > > "num_pages" is usually just equal to 1. This code appears to work very well. > > However, when I call the iounmap function on the memory obtained via > > ioremap_nocache, sometimes I hit a kernel BUG(). The code which causes the bug > > is in page_alloc.c, line 85 (in function __free_pages_ok): > > > > if (page->buffers) > > BUG(); > > This sounds like you are trying to do maps on pages that are in use. No can do Why not? I mean, I can access the memory anyway from the driver, since it's all mapped linearly via phys_to_virt. All I'm really doing is creating a temporary alias. Unfortunately, this mapping is a requirement for our product. I'd hate to have to create my own pte's and do it all manually. What confuses me is what ioremap_nocache() doesn't fail. Why are these tests (e.g. page->buffers) not in ioremap_nocache()? -- Timur Tabi - ttabi@interactivesi.com Interactive Silicon - http://www.interactivesi.com When replying to a mailing-list message, please don't cc: me, because then I'll just get two copies of the same message. -- 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.eu.org/Linux-MM/ ^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2000-09-29 23:24 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
[not found] <20000929222813Z129135-481+1113@vger.kernel.org>
2000-09-29 23:24 ` iounmap() - can't always unmap memory I've mappedt Alan Cox
[not found] <20000929221109Z129234-481+1111@vger.kernel.org>
2000-09-29 22:00 ` Alan Cox
2000-09-29 22:12 ` Timur Tabi
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox