)]}'
{
  "commit": "fd2f3bddaeb20564f32e59f64e5063fbe0c8f4cc",
  "tree": "0a2680fb39d20a42b1322c701f1c230e2eb4c978",
  "parents": [
    "c1a37f2c6572031203243dd083585aa4a1c138d5"
  ],
  "author": {
    "name": "Stefan Richter",
    "email": "stefanr@s5r6.in-berlin.de",
    "time": "Sun Mar 11 22:51:24 2007 +0100"
  },
  "committer": {
    "name": "Stefan Richter",
    "email": "stefanr@s5r6.in-berlin.de",
    "time": "Mon Apr 30 00:00:28 2007 +0200"
  },
  "message": "ieee1394: replace vmalloc by kmalloc in csr1212\n\nThe biggest chunk ever allocated by CSR1212_MALLOC is 1024 Bytes +\nsizeof(struct csr1212_csr_rom_cache) big.  Most of the time much\nsmaller data structures are allocated.  Therefore vmalloc is a waste.\n\nThe one exception is csr1212_append_new_cache() which is called to\nappend a chunk of CSR1212_EXTENDED_ROM_SIZE + sizeof(struct\ncsr1212_csr_rom_cache) if the currently allocated ROM cache is too\nsmall.  CSR1212_EXTENDED_ROM_SIZE is generously defined as 256 kBytes.\nIn SVN commit 1220, Steve Kinneberg lowered this to 2 kBytes in the\nconfig_rom_2.4 branch.  This same commit also switched CSR1212_MALLOC\nfrom kmalloc to vmalloc in the SVN trunk branch:\n\n\u003e r1220 | kberg | 2004-05-31 01:51:44 +0200 (Mon, 31 May 2004) | 13 lines\n\u003e\n\u003e CSR1212 Extended ROM bug fixes:\n\u003e trunk line changes:\n\u003e   - Use vmalloc instead of kmalloc\n\u003e   - Change delayed_reset_bus() to operate in a work_queue instead of a\n\u003e     timer interrupt.\n\u003e   - Fix hpsb_allocate_and_register_addrspace() to not allocate space\n\u003e     on top of already allocated space.\n\u003e   - Fix problems in csr1212.c filling ConfigROM images when extend\n\u003e     ROMs are present.\n\u003e config-rom-2.4 changes:\n\u003e   - Changed extended rom allocation from 256K to 8K.\n(It was actually 2 kB, not 8 kB.)\n\u003e   - Fix hpsb_allocate_and_register_addrspace() to not allocate space\n\u003e     on top of already allocated space.\n\u003e   - Fix problems in csr1212.c filling ConfigROM images when extend\n\u003e     ROMs are present.\n\nI am now setting CSR1212_EXTENDED_ROM_SIZE to 2 kB minus the overhead of\nstruct csr1212_csr_rom_cache.  Note, this code path is not used by the\nin-kernel drivers though.  raw1394 could trigger it, but the respective\nlibraw1394 functions don\u0027t exist yet.\n\nFurthermore, userspace programs can replace the entire local ROM via\nraw1394.  If kmalloc does not fulfill their needs --- well, tough luck.\nI decree that nobody needs such huge extended ROMs.  (Extended ROMs are\ndefined by IEEE 1212 clause 7.7.18.  The spec does not impose\npractically relevant restrictions on the size of extended ROM chunks.)\n\nAnother potentially demanding use of CSR1212_MALLOC is if external\nFireWire devices come with Extended ROM entries.  If they are too big\nfor kmalloc (or have been too big for vmalloc) we just fail to read\ntheir ROM.  This is quite unlikely though, to my knowledge.\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "6c2f55bb9463b68fb0ed1b85fe79ec711508b923",
      "old_mode": 33188,
      "old_path": "drivers/ieee1394/csr1212.c",
      "new_id": "2fd465ec94ec110419a4ba1f0532ec7bceb15100",
      "new_mode": 33188,
      "new_path": "drivers/ieee1394/csr1212.c"
    },
    {
      "type": "modify",
      "old_id": "655827527ecc9133f85494ef8db8662fd60090ac",
      "old_mode": 33188,
      "old_path": "drivers/ieee1394/csr1212.h",
      "new_id": "cc23f3abe0cdcc6ca641b3ac56c65dc80e93e201",
      "new_mode": 33188,
      "new_path": "drivers/ieee1394/csr1212.h"
    }
  ]
}
