On Tue, 2009-12-01 at 10:17 +0100, Thomas Hellstrom wrote:
> Jakob Bornecrantz wrote:
> > On 1 dec 2009, at 00.24, Robert Noland wrote:
> >   
> >> On Tue, 2009-12-01 at 10:37 +1100, Daniel Stone wrote:
> >>     
> >>> On Mon, Nov 30, 2009 at 11:21:47AM -0600, Robert Noland wrote:
> >>>       
> >>>> I've tried to ask linux folk if this is also true for linux, but the
> >>>> answer is unclear at this time.
> >>>>         
> >>> EINTR will be returned to userspace if the syscall needs to be  
> >>> restarted.
> >>>       
> >> Ok, EINTR is already handled in drmIoctl() as is EAGAIN, so that  
> >> sounds
> >> like my patch would be correct.
> >>     
> >
> > Hmm looks like we need to change bunch of stuff in ttm and the vmwgfx  
> > for that to be true. I still like to get Thomas comments on this  
> > before we do anything drastic.
> >
> >   
> Yes, there is some stuff we need to change here, really.
> 
> As previously pointed out by people on the dri-devel list (Kristian 
> among others), if the linux kernel returns
> -ERESTARTSYS, and the kernel cannot restart the system call AND there is 
> a signal pending, the kernel (not libc) will convert it to -EINTR and 
> return to user-space. -ERESTARTSYS may only be returned when there is a 
> signal pending.
> 
> I'm not sure this is the case with -ERESTART. IIRC I've seen man pages 
> with kernel calls return -ERESTART, but I'm not sure at this point. Best 
> would be to test and see  what happens.
> 
> Having said that. I don't think we should change this *now*. If BSD 
> converts -ERESTART to -EINTR, that will get caught in drmCommandXXX and 
> functionality will be preserved.

My current issue is that ERESTART isn't even defined in userspace, so if
I enable gallium I have build failure.

robert.

> However, before pushing wmwgfx upstream, and before the Radeon 
> user-space interface is set in stone, we should change the TTM code to 
> return -ERESTARTSYS when a signal is pending, meaning that if it returns 
> to user-space, we'll get an -EINTR. At the same time we could apply the 
> suggested patch. If TTM is ported to BSD, and -ERESTARTSYS doesn't exist 
> in BST, the BSD version should return something that will appear as 
> -EINTR in user space.
> 
> So to summarize:
> 
> *) I don't think the patch is correct with the current linux wmw / ttm code.
> *) We should change the ttm / vmw code ASAP so that the patch becomes 
> correct. When this is done, we should apply it.
> 
> Thanks,
> 
> Thomas
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> > Cheers Jakob.
> >
> > ------------------------------------------------------------------------------
> > Join us December 9, 2009 for the Red Hat Virtual Experience,
> > a free event focused on virtualization and cloud computing. 
> > Attend in-depth sessions from your desk. Your couch. Anywhere.
> > http://p.sf.net/sfu/redhat-sfdev2dev
> > _______________________________________________
> > Mesa3d-dev mailing list
> > [email protected]
> > https://lists.sourceforge.net/lists/listinfo/mesa3d-dev
> >   
> 
-- 
Robert Noland <[email protected]>
2Hip Networks


------------------------------------------------------------------------------
Join us December 9, 2009 for the Red Hat Virtual Experience,
a free event focused on virtualization and cloud computing. 
Attend in-depth sessions from your desk. Your couch. Anywhere.
http://p.sf.net/sfu/redhat-sfdev2dev
_______________________________________________
Mesa3d-dev mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mesa3d-dev

Reply via email to