{"push_id":1023668204,"size":7,"distinct_size":7,"ref":"refs/heads/ctxswitch_litmus","head":"d118eff4c4c421b1444ce664ba00b6c6434110be","before":"3278aa36864125233217b944486e7f1a8a2e9215","commits":[{"sha":"f5d28cf4a8894685133aab1bd2af1b334344f629","author":{"email":"336b0a6facdf7d5362f25953b02320b2c72b5bce@cam.ac.uk","name":"Roy Spliet"},"message":"gr/fuc: XXX enforce calling convention\n\nHelps to assess code quality by avoiding bugs caused by register cluttering.\nConvention:\n\n$r0    -        Zero / macro scratchpad\n$r1    Callee saved    GPR\n$r2    Callee saved    GPR\n$r3    Callee saved    GPR\n$r4    Callee saved    GPR\n$r5    Callee saved    GPR\n$r6    Callee saved    GPR\n$r7    Callee saved    GPR\n$r8    Callee saved    GPR\n$r9    Callee saved    GPR\n$r10    Caller saved    Param 6\n$r11    Caller saved    Param 5\n$r12    Caller saved    Param 4\n$r13    Caller saved    Param 3\n$r14    Caller saved    Return value 2 / Param 2\n$r15    Caller saved    Return value 1 / Param 1\n\nTODO:\n- Document convention","distinct":true,"url":"https://api.github.com/repos/RSpliet/kernel-nouveau-nv50-pm/commits/f5d28cf4a8894685133aab1bd2af1b334344f629"},{"sha":"d1914ffda80de1202f41062c76884a014fe2f216","author":{"email":"336b0a6facdf7d5362f25953b02320b2c72b5bce@cam.ac.uk","name":"Roy Spliet"},"message":"gr/fuc: Store $r0 on interrupts\n\nIt's a scratchpad for nv_iowr(), so we can't unconditionally clear it.\n\nSigned-off-by: Roy Spliet <rs855@cam.ac.uk>","distinct":true,"url":"https://api.github.com/repos/RSpliet/kernel-nouveau-nv50-pm/commits/d1914ffda80de1202f41062c76884a014fe2f216"},{"sha":"3fb136ec5b5b46fbea945404e449a3b7fafdf515","author":{"email":"336b0a6facdf7d5362f25953b02320b2c72b5bce@cam.ac.uk","name":"Roy Spliet"},"message":"gr/fuc: Reduce mmctx_xfer() hot loop w/ 1 insn\n\nContext switching is an I/O bound problem for relatively low end cards, so\nI'm not expecting any perf improvement from this. I'll do some benchmarks\nlater.\n\nSigned-off-by: Roy Spliet <rs855@cam.ac.uk>","distinct":true,"url":"https://api.github.com/repos/RSpliet/kernel-nouveau-nv50-pm/commits/3fb136ec5b5b46fbea945404e449a3b7fafdf515"},{"sha":"a6e8a4579aa06e9ade23faa0836f35653cb2f29a","author":{"email":"336b0a6facdf7d5362f25953b02320b2c72b5bce@cam.ac.uk","name":"Roy Spliet"},"message":"gr/fuc: Deduplicate base ptr arithmetic in init\n\nSlight reduction in instruction count, subjectively easier to read.","distinct":true,"url":"https://api.github.com/repos/RSpliet/kernel-nouveau-nv50-pm/commits/a6e8a4579aa06e9ade23faa0836f35653cb2f29a"},{"sha":"dd6a086fe9c388cc4a59c575965e83855e54553d","author":{"email":"336b0a6facdf7d5362f25953b02320b2c72b5bce@cam.ac.uk","name":"Roy Spliet"},"message":"gr/fuc: Time context switch","distinct":true,"url":"https://api.github.com/repos/RSpliet/kernel-nouveau-nv50-pm/commits/dd6a086fe9c388cc4a59c575965e83855e54553d"},{"sha":"145576894779f578543ac25d03f37b8d2f830fea","author":{"email":"336b0a6facdf7d5362f25953b02320b2c72b5bce@cam.ac.uk","name":"Roy Spliet"},"message":"gr/fuc: Mark timed measurements dirty when interrupted","distinct":true,"url":"https://api.github.com/repos/RSpliet/kernel-nouveau-nv50-pm/commits/145576894779f578543ac25d03f37b8d2f830fea"},{"sha":"d118eff4c4c421b1444ce664ba00b6c6434110be","author":{"email":"336b0a6facdf7d5362f25953b02320b2c72b5bce@cam.ac.uk","name":"Roy Spliet"},"message":"gr: dump falcon stack on detected timeout","distinct":true,"url":"https://api.github.com/repos/RSpliet/kernel-nouveau-nv50-pm/commits/d118eff4c4c421b1444ce664ba00b6c6434110be"}]}