)]}'
{
  "commit": "8e221b6db4477643fefc885a97ea9889ac733140",
  "tree": "96f87079865607c26e5a3ca3eab908187bec1fbf",
  "parents": [
    "815c4163b6c8ebf8152f42b0a5fd015cfdcedc78"
  ],
  "author": {
    "name": "Suresh Siddha",
    "email": "suresh.b.siddha@intel.com",
    "time": "Tue Jun 22 16:23:37 2010 -0700"
  },
  "committer": {
    "name": "H. Peter Anvin",
    "email": "hpa@linux.intel.com",
    "time": "Tue Jul 06 16:31:04 2010 -0700"
  },
  "message": "x86: Avoid unnecessary __clear_user() and xrstor in signal handling\n\nfxsave/xsave doesn\u0027t touch all the bytes in the memory layout used by\nthese instructions. Specifically SW reserved (bytes 464..511) fields\nin the fxsave frame and the reserved fields in the xsave header.\n\nTo present a clean context for the signal handling, just clear these fields\ninstead of clearing the complete fxsave/xsave memory layout, when we dump these\nregisters directly to the user signal frame.\n\nAlso avoid the call to second xrstor (which inits the state not passed\nin the signal frame) in restore_user_xstate() if all the state has already\nbeen restored by the first xrstor.\n\nThese changes improve the performance of signal handling(by ~3-5% as measured\nby the lat_sig).\n\nSigned-off-by: Suresh Siddha \u003csuresh.b.siddha@intel.com\u003e\nLKML-Reference: \u003c1277249017.2847.85.camel@sbs-t61.sc.intel.com\u003e\nSigned-off-by: H. Peter Anvin \u003chpa@linux.intel.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "c991b3a7b904bbfea99c5b74e423808eb55b1c56",
      "old_mode": 33188,
      "old_path": "arch/x86/include/asm/i387.h",
      "new_id": "0f1cf5d53dd823e5d06472bd6446491001947979",
      "new_mode": 33188,
      "new_path": "arch/x86/include/asm/i387.h"
    },
    {
      "type": "modify",
      "old_id": "2c4390cae22883014816647319fb6569d6867c2c",
      "old_mode": 33188,
      "old_path": "arch/x86/include/asm/xsave.h",
      "new_id": "30dfc81804d52d57ddba73e631af31ecae1846ec",
      "new_mode": 33188,
      "new_path": "arch/x86/include/asm/xsave.h"
    },
    {
      "type": "modify",
      "old_id": "37e68fc5e24a4daa33bcb6c730162a0969c91430",
      "old_mode": 33188,
      "old_path": "arch/x86/kernel/xsave.c",
      "new_id": "6e73db1b7b4ee67fe2a8a8d5b99d0e8b7c84a669",
      "new_mode": 33188,
      "new_path": "arch/x86/kernel/xsave.c"
    }
  ]
}
