[git pull] drm fixes for 5.19-rc7
Linus Torvalds
torvalds at linux-foundation.org
Sat Jul 16 22:08:39 UTC 2022
On Sat, Jul 16, 2022 at 2:35 PM Linus Torvalds
<torvalds at linux-foundation.org> wrote:
>
> That said, even those type simplifications do not fix the fundamental
> issue. That "DIV_ROUND_UP()" still ends up being a 64-bit divide,
> although now it's at least a "64-by-32" bit divide.
Hmm. The "DIV_ROUND_UP()" issue could be solved by just making the
rule be that the max_segment size is always a power of two.
Then you don't need the (expensive!) DIV_ROUND_UP(), and can just use
the regular "round_up()" that works on powers-of-two.
And the simplest way to do that is to just make "max_segments" be 2GB.
The whole "round_down(UINT_MAX, page_alignment)" seems entirely
pointless. Do you really want segments that are some odd number just
under the 4GB mark, and force expensive divides?
For consistency, I used the same value in
i915_rsgt_from_buddy_resource(). I have no idea if that makes sense.
Anyway, the attached patch is COMPLETELY UNTESTED. But it at least
seems to compile. Maybe.
Linus
-------------- next part --------------
A non-text attachment was scrubbed...
Name: patch.diff
Type: text/x-patch
Size: 1631 bytes
Desc: not available
URL: <https://lists.freedesktop.org/archives/dri-devel/attachments/20220716/1dc2da3e/attachment.bin>
More information about the dri-devel
mailing list