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]
Date:	Thu, 16 Jul 2009 18:48:28 +0300
From:	Tiago Vignatti <tiago.vignatti@...ia.com>
To:	Jesse Barnes <jbarnes@...tuousgeek.org>
Cc:	Dave Airlie <airlied@...hat.com>,
	Alan Cox <alan@...rguk.ukuu.org.uk>,
	"linux-pci@...r.kernel.org" <linux-pci@...r.kernel.org>,
	"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
	Tiago Vignatti <tiago.vignatti@...ia.com>
Subject: [PATCH 0/3] VGA arbiter implementation (v2)

Hi,

Following is v2 of the set. It contains some minor clean ups and the additions
from Dave, mostly related with DRM.

I just reorganized a little the ideas which everyone sent and summarized them
here. The basically TODO is:

- DRM hook to disable IRQ when arbiter is on action is done. What else we need
  on DRM department (besides the hook usage that Dave is cooking)? That's a
  preliminary here:
    http://people.freedesktop.org/~airlied/vgaarb/0002-drm-add-support-to-drm-for-VGA-arbitration.patch
- make a PCI_COMMAND lock to deal with hotplug cards on drivers/pci. Also is
  it need some spinlock to deal with bridges? (Waiting Jesse's opinion).
- know exactly if VGA on/off is enough and remove the just I/O or just memory
  granularity. Alan states that it would reduce some deadlock.
- Change this hunk bellow:

 +             init_waitqueue_entry(&wait, current);
 +             add_wait_queue(&vga_wait_queue, &wait);
 +             set_current_state(interruptible ?
 +                               TASK_INTERRUPTIBLE :
 +                               TASK_UNINTERRUPTIBLE);
 +             if (signal_pending(current)) {
 +                     rc = -EINTR;
 +                     break;
 +             }
 +             schedule();
 +             remove_wait_queue(&vga_wait_queue, &wait);
 +             set_current_state(TASK_RUNNING);

 by something like:

 +             wait_event_interruptible(...)

  it's Alan's comment. Does it seems doable to everyone?


For testing purposes, I'm using posttool:
    http://cgit.freedesktop.org/~airlied/posttool/

which has the following dependencies:
    http://cgit.freedesktop.org/~vignatti/libx86/
    http://cgit.freedesktop.org/~vignatti/libpciaccess/ (vgaarb branch)


Please, comment on and send the feedbacks. Thanks,

                Tiago


Dave Airlie (1):
  drm: add support to drm for VGA arbitration.

Tiago Vignatti (2):
  vga: implements VGA arbitration on Linux
  vga: drops a documentation regarding the VGA arbiter

 Documentation/vgaarbiter.txt           |  197 ++++++
 drivers/gpu/Makefile                   |    2 +-
 drivers/gpu/drm/drm_irq.c              |   24 +
 drivers/gpu/drm/i915/i915_dma.c        |    6 +
 drivers/gpu/drm/i915/i915_reg.h        |    1 +
 drivers/gpu/drm/i915/intel_display.c   |   17 +
 drivers/gpu/drm/i915/intel_drv.h       |    1 +
 drivers/gpu/drm/radeon/r100.c          |    9 +
 drivers/gpu/drm/radeon/radeon.h        |    2 +
 drivers/gpu/drm/radeon/radeon_asic.h   |    9 +
 drivers/gpu/drm/radeon/radeon_device.c |    5 +-
 drivers/gpu/vga/Kconfig                |   10 +
 drivers/gpu/vga/Makefile               |    1 +
 drivers/gpu/vga/vgaarb.c               | 1116 ++++++++++++++++++++++++++++++++
 drivers/video/Kconfig                  |    2 +
 include/drm/drmP.h                     |    3 +
 include/linux/vgaarb.h                 |  170 +++++
 17 files changed, 1573 insertions(+), 2 deletions(-)
 create mode 100644 Documentation/vgaarbiter.txt
 create mode 100644 drivers/gpu/vga/Kconfig
 create mode 100644 drivers/gpu/vga/Makefile
 create mode 100644 drivers/gpu/vga/vgaarb.c
 create mode 100644 include/linux/vgaarb.h

--
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