I've just looked at this spec. The S3 patch is somewhat concerning, so 
I'm quite pleased to find that it's not in the moblin or Ubuntu trees 
yet. The core of it is:

+       system_resuming = 0;
+        thread = kernel_thread(dev_resume_proc,NULL,CLONE_KERNEL);
+        if (thread < 0){
+                printk ("Suspend resume Cannot create Kernel_thread\n");
+                device_resume();
+        }

with dev_resume_proc doing:

+        system_resuming =1;
+        device_resume();
+        system_resuming = 0;
+        return (0);

The idea here is let userspace start /before/ all the devices have been 
resumed, and then let them resume in parallel. The major problem it has 
is that there's nothing to stop devices accessing the hardware while 
it's still suspended. system_resuming is checked in the block schedulers 
(thereby introducing an extra check in a fast path), so any access to 
block devices should be deferred. However, this does nothing to help the 
other ways userspace can interface with drivers (ioctls, character 
devices, sysfs and so on). There's the potential for stuff to go very 
wrong with this patch in its current form.

I'm also a bit concerned about the kobject sending on state change - 
which applications are expected to be making use of this?

-- 
Matthew Garrett | [EMAIL PROTECTED]

-- 
Ubuntu-mobile mailing list
[email protected]
Modify settings or unsubscribe at: 
https://lists.ubuntu.com/mailman/listinfo/ubuntu-mobile

Reply via email to