Re: agpgart: drm-populated memory types
Arjan van de Ven wrote: A short recap why I belive the kmalloc / vmalloc construct is necessary: 0) The current code uses vmalloc only. 1) The allocated area ranges from 4 bytes possibly up to 512 kB, depending on on the size of the AGP buffer allocated. 2) Large buffers are very few. Small buffers tend to be quite many. If we continue to use vmalloc only or another page-based scheme we will waste approx one page per buffer, together with the added slowness of vmalloc. This will severely hurt applications with a lot of small texture buffers. Please let me know if you still consider this unacceptable. explicit use of either kmalloc/vmalloc is fine with me; I would suggest an 2*PAGE_SIZE cutoff for this decision In that case I suggest sticking with vmalloc for now. Also please let me know if there are other parths of the patch that should be reworked. The patch that follows is against Dave's agpgart repo. Hmm. Still struggling with git-send-email. Now it should have arrived. Thanks, Thomas - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: agpgart: drm-populated memory types
Arjan van de Ven wrote: A short recap why I belive the kmalloc / vmalloc construct is necessary: 0) The current code uses vmalloc only. 1) The allocated area ranges from 4 bytes possibly up to 512 kB, depending on on the size of the AGP buffer allocated. 2) Large buffers are very few. Small buffers tend to be quite many. If we continue to use vmalloc only or another page-based scheme we will waste approx one page per buffer, together with the added slowness of vmalloc. This will severely hurt applications with a lot of small texture buffers. Please let me know if you still consider this unacceptable. explicit use of either kmalloc/vmalloc is fine with me; I would suggest an 2*PAGE_SIZE cutoff for this decision In that case I suggest sticking with vmalloc for now. Also please let me know if there are other parths of the patch that should be reworked. The patch that follows is against Dave's agpgart repo. you forgot the patch Hmm. Still struggling with git-send-email. Now it should have arrived. Thanks, Thomas - To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: agpgart: drm-populated memory types
> > A short recap why I belive the kmalloc / vmalloc construct is necessary: > > 0) The current code uses vmalloc only. > 1) The allocated area ranges from 4 bytes possibly up to 512 kB, depending on > on the size of the AGP buffer allocated. > 2) Large buffers are very few. Small buffers tend to be quite many. >If we continue to use vmalloc only or another page-based scheme we will >waste approx one page per buffer, together with the added slowness of >vmalloc. This will severely hurt applications with a lot of small >texture buffers. > > Please let me know if you still consider this unacceptable. explicit use of either kmalloc/vmalloc is fine with me; I would suggest an 2*PAGE_SIZE cutoff for this decision > > In that case I suggest sticking with vmalloc for now. > > Also please let me know if there are other parths of the patch that should be > reworked. > > The patch that follows is against Dave's agpgart repo. > -- if you want to mail me at work (you don't), use arjan (at) linux.intel.com Test the interaction between Linux and your BIOS via http://www.linuxfirmwarekit.org - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
agpgart: drm-populated memory types
Dave and Arjan, I'm resending a slightly reworked version of the apgart patch for drm-populated memory types. The address- based vmalloc / vfree has been replaced and encapsulated in agp-vkmalloc / agp vkfree which both takes a flag argument to indicate whether to use vmalloc or kmalloc. This, at least, gets rid of the portability problem, and the chances of running into trouble in the future will be small if all allocs / frees of these memory areas are done using these functions. A short recap why I belive the kmalloc / vmalloc construct is necessary: 0) The current code uses vmalloc only. 1) The allocated area ranges from 4 bytes possibly up to 512 kB, depending on on the size of the AGP buffer allocated. 2) Large buffers are very few. Small buffers tend to be quite many. If we continue to use vmalloc only or another page-based scheme we will waste approx one page per buffer, together with the added slowness of vmalloc. This will severely hurt applications with a lot of small texture buffers. Please let me know if you still consider this unacceptable. In that case I suggest sticking with vmalloc for now. Also please let me know if there are other parths of the patch that should be reworked. The patch that follows is against Dave's agpgart repo. Regards, Thomas - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
agpgart: drm-populated memory types
Dave and Arjan, I'm resending a slightly reworked version of the apgart patch for drm-populated memory types. The address- based vmalloc / vfree has been replaced and encapsulated in agp-vkmalloc / agp vkfree which both takes a flag argument to indicate whether to use vmalloc or kmalloc. This, at least, gets rid of the portability problem, and the chances of running into trouble in the future will be small if all allocs / frees of these memory areas are done using these functions. A short recap why I belive the kmalloc / vmalloc construct is necessary: 0) The current code uses vmalloc only. 1) The allocated area ranges from 4 bytes possibly up to 512 kB, depending on on the size of the AGP buffer allocated. 2) Large buffers are very few. Small buffers tend to be quite many. If we continue to use vmalloc only or another page-based scheme we will waste approx one page per buffer, together with the added slowness of vmalloc. This will severely hurt applications with a lot of small texture buffers. Please let me know if you still consider this unacceptable. In that case I suggest sticking with vmalloc for now. Also please let me know if there are other parths of the patch that should be reworked. The patch that follows is against Dave's agpgart repo. Regards, Thomas - To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: agpgart: drm-populated memory types
A short recap why I belive the kmalloc / vmalloc construct is necessary: 0) The current code uses vmalloc only. 1) The allocated area ranges from 4 bytes possibly up to 512 kB, depending on on the size of the AGP buffer allocated. 2) Large buffers are very few. Small buffers tend to be quite many. If we continue to use vmalloc only or another page-based scheme we will waste approx one page per buffer, together with the added slowness of vmalloc. This will severely hurt applications with a lot of small texture buffers. Please let me know if you still consider this unacceptable. explicit use of either kmalloc/vmalloc is fine with me; I would suggest an 2*PAGE_SIZE cutoff for this decision In that case I suggest sticking with vmalloc for now. Also please let me know if there are other parths of the patch that should be reworked. The patch that follows is against Dave's agpgart repo. you forgot the patch -- if you want to mail me at work (you don't), use arjan (at) linux.intel.com Test the interaction between Linux and your BIOS via http://www.linuxfirmwarekit.org - To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/