62 msgpanic: System call lstat returning with 1 locks...
1 msgRe: Cannot compile jdk16 on latest -current
3 msgLinux SMP network performance measurements
6 msgHow to disable acpi thermal?
7 msglong running gcc process when building world
5 msgexmap port - shared memory profiler
1 msgRe: GPE handler livelock [fixed?]

mpsafe psm driver needed
\ Kris Kennaway (13 Jan 2008)
. \ Philip Paeps (14 Jan 2008)
. \ Philip Paeps (14 Jan 2008)
. . \ John Baldwin (14 Jan 2008)
. . \ John Baldwin (14 Jan 2008)
. . . \ Philip Paeps (14 Jan 2008)
. . . \ Philip Paeps (14 Jan 2008)
. . . \ Scott Long (14 Jan 2008)
. . . \ Scott Long (14 Jan 2008)
. . \ Jordan Sissel (14 Jan 2008)

3 msgRe: NDIS debugging
28 msg[head tinderbox] failure on ia64/ia64
30 msg[head tinderbox] failure on i386/i386
34 msg[head tinderbox] failure on amd64/amd64
34 msg[head tinderbox] failure on sparc64/sparc64
42 msg[head tinderbox] failure on powerpc/powerpc
31 msg[head tinderbox] failure on i386/pc98
7 msgFreeBSD on macbook & backlight module
42 msgRFC: Adding a hw.features[2] sysctl
7 msgFix for GPE livelock on HPs
1 msgProfiling still broken?
9 msgcsh core dumping 7.0-rc1
Subject:Re: mpsafe psm driver needed
Group:Freebsd-current
From:Jordan Sissel
Date:14 Jan 2008


 
On Jan 14, 2008 3:00 AM, Philip Paeps <philip> wrote:
> On 2008-01-13 21:25:03 (+0100), Kris Kennaway <kris> wrote:
> > I've been looking at some mutex profiling traces from users of 6.x and 7.x
> > who are reporting that their mouse pointer sometimes freezes when their
> > system is busy. In most of the situations I have looked at this is because
> > the psm driver is Giant-locked, and competes with other things like the
> > syncer (in 6.x), or sysctl calls (I have a WIP for this that I need to
> > revisit).
> >
> > This is a minor problem from a grand architectural point of view but an
> > important one from a usability point of view. I believe these particular
> > interactivity problems would be resolved if the psm driver no longer
> > required Giant. Is anyone able to work on this?
>
> I have taken a look at this in the past. It's not a trivial problem.
>
> There is a lot of what I can only charitably call "legacy code" in psm and it
> appears that as soon as you touch any of it, it upsets at least one brand of
> KVM "out there".
>
> One of my mentees has been working on a rewrite for a while, but the project
> has not yet been committed to cvs.
>
> jls: any news on this?
>

This was on my list of things to fix in psm(4) as part of the rewrite,
but I haven't done that yet. Looks like it's become a priority now, so
what better time?

I must confess I don't have a great deal of experience with the
freebsd kernel and its locking system. From what I can tell, the only
outside resources psm(4) uses is spltty (which has been deprecated for
some time, yes?), atkbdc, and giant.

However, in searching the source, I see many instances of
mtx_lock(&Giant), but none in psm.c. From looking at the code, it
seems like if you pass D_NEEDGIANT in your flags when you call
make_dev, some of your methods are implicitly wrapped with mutex locks
which use Giant? (Forgive any oversight, it's 9am ;))

Any guidance is welcome regarding the best way to remove the need for
giant. I'm happy to take on doing this, since I'm already somewhat
familiar with psm(4).

-Jordan

> - Philip
>
> --
> Philip Paeps Please don't Cc me, I am
> philip subscribed to the list.
>
> It is impossible for an optimist to be pleasantly
> suprised.
>
> _______________________________________________
> freebsd-current mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-current
> To unsubscribe, send any mail to "freebsd-current-unsubscribe"
>
_______________________________________________
freebsd-current mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "freebsd-current-unsubscribe"


© 2004-2008 readlist.com