Android alarm-dev compat_ioctl support

Registered by John Stultz

This blueprint will track the alarm-dev compat_ioctl support

Blueprint information

Status:
Complete
Approver:
Jakub Pavelek
Priority:
Medium
Drafter:
John Stultz
Direction:
Approved
Assignee:
John Stultz
Definition:
Approved
Series goal:
Accepted for kernel-merge-window
Implementation:
Implemented
Milestone target:
milestone icon 3.9
Started by
Jakub Pavelek
Completed by
John Stultz

Related branches

Sprints

Whiteboard

[20130421 fagersted-axel] "Check that tests pass on 32 bit kernel build with the system services shutdown workaround:" it does not, currently timing out, need to see if the timeout can be increased.
[20130415 fagerstedt-axel] the mp test job in lava has not run for a few days, will verify that the kernel tests still are ok once there is a lava run to look at.
[20130312 fagerstedt-axel] test has been deployed
[20130226 fagerstedt-axel] integrate the unit test to our LAVA infra for juice-aosp:
merged to lava-android-test, awaiting deployment by the LAVA team.

[20130105] fagerstedtaxel: results from manual tests
                                           origen: fails, /dev/alarm does not exist
                                           juice-aosp: fails, /dev/alarm does not exist
                                           snowball: fails, (0) gettime(0): 946684900:102689156
                                                                  (-1) alarm_set_and_wait(0)
                                                                  Bad return value

Bug id for "/dev/alarm does not exist": https://bugs.launchpad.net/linaro-android/+bug/1125177

Meta:
Roadmap id: CARD-512
Headline: Android alarm-dev ioctl now has compat_ioctl support for 64-bit operation
Acceptance:
   * implementation merged upstream into mainline
   * upstream commit logged here for reference
   * unit test passing in 64-bit environment (e.g. juice-aosp build)
   * unit test passing in 32-bit environment (e.g. linux-linaro build)

The alarm-dev ioctl takes a number of timespecs, which are of inconsistent sizes between 32bit and 64bit systems. Thus to support 32bit applications on a 64bit kernel, we'll need to add compat_ioctl support.

Merged in 3.9

[20130326 jstultz] Generated bug to track alarm_set_and_wait failures: https://bugs.launchpad.net/linaro-android/+bug/1160633

[2013-05-01 jstultz] The above bug has been closed out, so marking this implemented
[jakub-pavelek 2013-05-04] Updated acceptance criteria, linked to the right card. Considered DONE.

(?)

Work Items

Work items for 13.01:
Implement first draft at adding a compat_ioctl (Jan 7): DONE
Reworked first draft (had build issues w/ 32bit) (Jan 10): DONE
Test first draft compat_ioctl (Jan 10): DONE
Send out first draft to Serban (Jan 10): DONE
Sent out first draft to lkml(Jan 11): DONE
Got feedback from Colin that lets me further simplify the alarm-dev driver (Jan 11): DONE
Implement Colin's suggestion (Jan 11): DONE
Send out second draft to lkml (Jan 11): DONE
Get patches queued for merging (Greg picked them up for 3.9 - Jan 18): DONE
Generate PASS/FAIL unit test and send out to Zach/Appala for integration into Lava (Jan 28): DONE

Work items for 13.02:
[fagerstedt-axel] Integrate unit test into private git repo: DONE
[fagerstedt-axel] run unit test (manually if needed) on 32 and 64 bit build and report results here: DONE
Log upstream git commit url here (http://git.kernel.org/?p=linux/kernel/git/torvalds/linux.git;a=commitdiff;h=532572b94815e1ede5d9c5434ddb94835df4429e ): DONE

Work items for 13.03:
[fagerstedt-axel] integrate the unit test to our LAVA infra for juice-aosp: DONE
make sure the patch made it to Juice and linux-linaro and is enabled in kernel configuration and inform Axel about need to re-test it (enabled since #180-ish, March 25): DONE
[fagerstedt-axel] integrate the unit test to our LAVA infra for some linux-linaro Android build, and make sure the kernel config enables it (March 26): DONE
Open bug on failures seen https://bugs.launchpad.net/linaro-android/+bug/1160633 (March 26) : DONE

Work items for 13.04:
[dpervushin] Investigate the failure (log e.g. here http://validation.linaro.org/lava-server/dashboard/attachment/263791/view): DONE
[dpervushin] Patch test as needed: DONE
[fagerstedt-axel] Integrate workaround to stop system_services to make the tests pass in both juice-aosp and linux-linaro Android: DONE
[dpervushin] Make tests pass, not skip :) Hook it to Axel's system services shutdown: TODO
[dpervushin] Check that tests pass on Juice-aosp with the system services shutdown workaround : DONE
[fagerstedt-axel] Check that tests pass on 32 bit kernel build with the system services shutdown workaround: DONE

Dependency tree

* Blueprints in grey have been implemented.

This blueprint contains Public information 
Everyone can see this information.