Summary: | Allocating too much pixmap memory hangs system | ||
---|---|---|---|
Product: | xorg | Reporter: | Karl Schultz <Karl.W.Schultz> |
Component: | Server/General | Assignee: | Xorg Project Team <xorg-team> |
Status: | RESOLVED DUPLICATE | QA Contact: | |
Severity: | enhancement | ||
Priority: | low | ||
Version: | 6.7.0 | ||
Hardware: | x86 (IA32) | ||
OS: | Linux (All) | ||
Whiteboard: | |||
i915 platform: | i915 features: |
Description
Karl Schultz
2005-02-11 10:35:26 UTC
many operating systems lie about malloc success on the assumption that not all memory is used immediately, that the storage can be done on the fly with the pagefault handler, and that it conserves memory overall leading to better performance. so such an option might not even work. in addition this limit would need to be quite high, since quite a few applications do highly stupid things with their pixmap usage. gecko browsers for example use tons of pixmaps and pretty much never free them. Yes, I agree and understand about the behavior of malloc on many systems. There still may be value in implementing an *optional* upper bound on the amount of pixmap storage the server can allocate. The server can do this simply by keeping track of the create and destroy requests, also accounting for pixmaps that get destroyed when client connections drop. The behavior of malloc plays no part in this tracking of pixmap storage. The point is to give the user an alternative to allowing a client to completely hang the server by simply allocating pixmaps until it hangs. Yes, it is the application's fault for doing this, but it is better to simply fail the create pixmap request so that the application can at least recover and prevent the lost work due to a hang that requires pulling the plug. I know that this request is a bit close to the edge between server stability and application responsibility, since any app can cause this sort of resource usage problem. But since the server often runs at a higher priority and needs to be stable, it is more than some other app or client that has run amuck. And this seems to be a reasonable safety measure to keep the server stable at the possible inconvenience of figuring out the right value to use for the upper limit. |
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.