lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <1183100942.3289.296.camel@thor.sulgenrain.local>
Date:	Fri, 29 Jun 2007 09:09:02 +0200
From:	Michel Dänzer <michel@...gstengraphics.com>
To:	linux-kernel@...r.kernel.org
Cc:	dri-devel@...ts.sf.net
Subject: Tasklet usage in the DRM


I just read an article on LWN's kernel page about plans to remove
tasklets, and I thought I'd explain what the DRM is using tasklets for.
Maybe there's other ways to satisfy the requirements equally well or
even better.


The i915 driver uses a tasklet to make sure a GL buffer swap blit or
flip takes effect (or at least starts in the case of a blit) during the
vertical blank period, to avoid tearing. I chose a tasklet for this
purpose because:

      * The traditional method of the vertical blank interrupt waking up
        the user process, which would then emit the buffer swap
        commands, didn't even come close to avoiding tearing. So I
        suspect a workqueue wouldn't cut it either.
      * The processing of scheduled buffer swaps could potentially take
        a long time, so doing it in hardirq context could cause high IRQ
        latency.
      * It requires holding the DRM lock, so the 'each tasklet can only
        run once at a time' restriction is fine.


I'm looking forward to any suggestions what to do with this in case
tasklets disappear, and I'll gladly provide further clarification on the
requirements.


-- 
Earthling Michel Dänzer           |          http://tungstengraphics.com
Libre software enthusiast         |          Debian, X and DRI developer

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ