)]}'
{
  "commit": "f9554765596b7f24ea856d44baebbe1399d590d4",
  "tree": "cec00b83b15c13f141786007b53f121aff22092b",
  "parents": [
    "7e18ab70f9f4ad44d3c303ea4ebbaf6b28cb048c"
  ],
  "author": {
    "name": "Benjamin Walsh",
    "email": "benjamin.walsh@windriver.com",
    "time": "Wed Dec 21 15:38:54 2016 -0500"
  },
  "committer": {
    "name": "Anas Nashif",
    "email": "nashif@linux.intel.com",
    "time": "Mon Jan 09 20:52:24 2017 +0000"
  },
  "message": "kernel/arch: optimize memory use of some thread fields\n\nSome thread fields were 32-bit wide, when they are not even close to\nusing that full range of values. They are instead changed to 8-bit fields.\n\n- prio can fit in one byte, limiting the priorities range to -128 to 127\n\n- recursive scheduler locking can be limited to 255; a rollover results\n  most probably from a logic error\n\n- flags are split into execution flags and thread states; 8 bits is\n  enough for each of them currently, with at worst two states and four\n  flags to spare (on x86, on other archs, there are six flags to spare)\n\nDoing this saves 8 bytes per stack. It also sets up an incoming\nenhancement when checking if the current thread is preemptible on\ninterrupt exit.\n\nChange-Id: Ieb5321a5b99f99173b0605dd4a193c3bc7ddabf4\nSigned-off-by: Benjamin Walsh \u003cbenjamin.walsh@windriver.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "3dfb3f515ed78dd5b1c956ce4b772425491bd129",
      "old_mode": 33188,
      "old_path": "arch/arc/core/fast_irq.S",
      "new_id": "97fa6e6026a8d0badfb9e6795a0a547a438676b5",
      "new_mode": 33188,
      "new_path": "arch/arc/core/fast_irq.S"
    },
    {
      "type": "modify",
      "old_id": "bac7a96e1bfa678a04902b1096bd482de4c703a5",
      "old_mode": 33188,
      "old_path": "arch/arc/core/fault_s.S",
      "new_id": "eb842bfc4373c26d7e587cba76d517af6458f7d1",
      "new_mode": 33188,
      "new_path": "arch/arc/core/fault_s.S"
    },
    {
      "type": "modify",
      "old_id": "22a957e2c7c39d15f237d5d0b2dfdbfdf22042b8",
      "old_mode": 33188,
      "old_path": "arch/arc/core/regular_irq.S",
      "new_id": "b0e0fbdf305b434c8ba5f3bb05863cee2d78dfc3",
      "new_mode": 33188,
      "new_path": "arch/arc/core/regular_irq.S"
    },
    {
      "type": "modify",
      "old_id": "cffe6f63631b300b093fe66046686ab194ec1d5b",
      "old_mode": 33188,
      "old_path": "arch/arm/core/exc_exit.S",
      "new_id": "eb8992fd8e98157454760f2d0183cf1861f5fda3",
      "new_mode": 33188,
      "new_path": "arch/arm/core/exc_exit.S"
    },
    {
      "type": "modify",
      "old_id": "b9e517211497a3d9869f70dc5408ee143dfb9c3f",
      "old_mode": 33188,
      "old_path": "arch/nios2/core/exception.S",
      "new_id": "9db5e1f137cc85ab839b7845bd3babe75f302301",
      "new_mode": 33188,
      "new_path": "arch/nios2/core/exception.S"
    },
    {
      "type": "modify",
      "old_id": "7d4a9303fa54becdb227fbd5a85b068099b6e75e",
      "old_mode": 33188,
      "old_path": "arch/x86/core/excstub.S",
      "new_id": "0d04d1f8a20b4e7b9dbcd22899c979da4a0ae759",
      "new_mode": 33188,
      "new_path": "arch/x86/core/excstub.S"
    },
    {
      "type": "modify",
      "old_id": "9f0e7f099aaa33ac10b58dae6e4469173627f8a7",
      "old_mode": 33188,
      "old_path": "arch/x86/core/float.c",
      "new_id": "72bb510e7a5fe946a15ee9faced38fedb928c206",
      "new_mode": 33188,
      "new_path": "arch/x86/core/float.c"
    },
    {
      "type": "modify",
      "old_id": "9bfcadc22519aba55fda2e9f9d283aa3a12c6d2b",
      "old_mode": 33188,
      "old_path": "arch/x86/core/intstub.S",
      "new_id": "b35ced521a83b731953113729519accf62511240",
      "new_mode": 33188,
      "new_path": "arch/x86/core/intstub.S"
    },
    {
      "type": "modify",
      "old_id": "abbb2357a47bbe492252436bb631a60eeed01895",
      "old_mode": 33188,
      "old_path": "arch/x86/core/swap.S",
      "new_id": "7c58fec45cfb8e7ba01717d8662ca74813fd7cc1",
      "new_mode": 33188,
      "new_path": "arch/x86/core/swap.S"
    },
    {
      "type": "modify",
      "old_id": "c3edbe1bdaa9485a13d0c5e0cddaad4c20738319",
      "old_mode": 33188,
      "old_path": "arch/x86/include/kernel_arch_data.h",
      "new_id": "2c4e529449c02ec1b8881a74ab2eb2b9be56fe58",
      "new_mode": 33188,
      "new_path": "arch/x86/include/kernel_arch_data.h"
    },
    {
      "type": "modify",
      "old_id": "a4930b9b4e932f91ca0abf4b8ee33e7dc90cc50b",
      "old_mode": 33188,
      "old_path": "kernel/Kconfig",
      "new_id": "d987f335d439364f1d0923ab23efb5fb3631a9fd",
      "new_mode": 33188,
      "new_path": "kernel/Kconfig"
    },
    {
      "type": "modify",
      "old_id": "73553c007afe3dd56b4222849de62420dd8ad504",
      "old_mode": 33188,
      "old_path": "kernel/include/kernel_offsets.h",
      "new_id": "63ac010ac2dba6e4b8463902aa45558de488ea39",
      "new_mode": 33188,
      "new_path": "kernel/include/kernel_offsets.h"
    },
    {
      "type": "modify",
      "old_id": "234ea7770e528903b4002358df373621b1fad363",
      "old_mode": 33188,
      "old_path": "kernel/include/kernel_structs.h",
      "new_id": "570a6398dc18f059a130749ba5f08892a0226f7f",
      "new_mode": 33188,
      "new_path": "kernel/include/kernel_structs.h"
    },
    {
      "type": "modify",
      "old_id": "b9c919c45d6e08ff526992c5e263a434cd970d98",
      "old_mode": 33188,
      "old_path": "kernel/include/ksched.h",
      "new_id": "f83613ba63cc777d081de107e47b8daa7661497d",
      "new_mode": 33188,
      "new_path": "kernel/include/ksched.h"
    },
    {
      "type": "modify",
      "old_id": "32918648f0dbacee578340fbda7de62db9bbb29f",
      "old_mode": 33188,
      "old_path": "kernel/include/offsets_short.h",
      "new_id": "1b7c83159e5a80c09bd7ad2401408408cff89b78",
      "new_mode": 33188,
      "new_path": "kernel/include/offsets_short.h"
    },
    {
      "type": "modify",
      "old_id": "01fa27ae9c7d988e88235e716187850ba0ff857b",
      "old_mode": 33188,
      "old_path": "kernel/init.c",
      "new_id": "6f78ab34ab9634eb30dca288a246f3b3795e25b7",
      "new_mode": 33188,
      "new_path": "kernel/init.c"
    },
    {
      "type": "modify",
      "old_id": "40a70b812dcb6db3420da7d17f5b4bb2ad4102f9",
      "old_mode": 33188,
      "old_path": "kernel/mailbox.c",
      "new_id": "9483b2e2a5b6ad76864387da7fc6215b07fb7e62",
      "new_mode": 33188,
      "new_path": "kernel/mailbox.c"
    },
    {
      "type": "modify",
      "old_id": "f1a4c1ec66da6f460a6965c6515e5ae50ee0f846",
      "old_mode": 33188,
      "old_path": "kernel/pipes.c",
      "new_id": "f44f841ac8157190a103b4a9bafc28c70939abdd",
      "new_mode": 33188,
      "new_path": "kernel/pipes.c"
    },
    {
      "type": "modify",
      "old_id": "56e4eba2b59bcc01b43b4b08b2720ebd560c16fc",
      "old_mode": 33188,
      "old_path": "kernel/sem.c",
      "new_id": "ca420e741738c1bfa500bb2f2797a0e6b9ea7868",
      "new_mode": 33188,
      "new_path": "kernel/sem.c"
    },
    {
      "type": "modify",
      "old_id": "030f415ac002bcb85aa3c3e1f7b8564aef44d14f",
      "old_mode": 33188,
      "old_path": "kernel/thread.c",
      "new_id": "925b97f0e08074decd28f33b7fef42d13a384290",
      "new_mode": 33188,
      "new_path": "kernel/thread.c"
    },
    {
      "type": "modify",
      "old_id": "eb1ed8af3420cd8069c3fe855668367c39395745",
      "old_mode": 33188,
      "old_path": "tests/legacy/kernel/test_obj_tracing/microkernel/src/object_monitor.c",
      "new_id": "4d716983b75ed5b25d6bb376e9fd924ec0848df6",
      "new_mode": 33188,
      "new_path": "tests/legacy/kernel/test_obj_tracing/microkernel/src/object_monitor.c"
    },
    {
      "type": "modify",
      "old_id": "948082b795fd59bbd8936c49aa3baec5b35a5406",
      "old_mode": 33188,
      "old_path": "tests/legacy/kernel/test_obj_tracing/nanokernel/src/object_monitor.c",
      "new_id": "9229b1692c2e1595ed937adff02ed9926b03b0d7",
      "new_mode": 33188,
      "new_path": "tests/legacy/kernel/test_obj_tracing/nanokernel/src/object_monitor.c"
    }
  ]
}
