{"push_id":1375530006,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"864edd88401688614281cd10f92ddbd012b6b909","before":"a37322ec29905aeb923e1f080ffb6beb49742151","commits":[{"sha":"864edd88401688614281cd10f92ddbd012b6b909","author":{"name":"avg","email":"b24d11afb16644e3ff52469bebd6e863d3282d4e@FreeBSD.org"},"message":"hwpmc: fix a race between amd_stop_pmc and amd_intr\n\nIt is possible that wrmsr in amd_stop_pmc() causes an overflow in a counter\nthat it disables.  In that case a non-maskable interrupt is generated.  The\ninterrupt handler code was written in such a way that it would re-enable the\ncounter.  That would lead to an unexpected interrupt later on.\n\nThis problem was easy to reproduce with\n$ pmcstat -T -P instructions -t $pid\nif the target process is sufficiently busy and there are context switches from\ntime to time.  There would be a lot of interrupts to \"race\" with amd_stop_pmc()\ncalled during the context switches.  The problem affected only AMD processors.\n\nWhile there, trace whether amd_intr() claimed an interrupt.\n\nReviewed by:\tjhb\nMFC after:\t2 weeks","distinct":true,"url":"https://api.github.com/repos/bsd-hacker/freebsd/commits/864edd88401688614281cd10f92ddbd012b6b909"}]}
{"actor":{"display_login":"bsd-hacker"}}