)]}'
{
  "log": [
    {
      "commit": "e2c284d8a87f95df9b47c6a13168a844ca7c03e9",
      "tree": "6eb27ea254d47c94dbfb33da23314dd69479e56e",
      "parents": [
        "424450c1dbe72b6e2637e91108417d7d9580c4c3"
      ],
      "author": {
        "name": "Nadia Derbey",
        "email": "Nadia.Derbey@bull.net",
        "time": "Tue Apr 29 01:00:44 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:12 2008 -0700"
      },
      "message": "ipc: recompute msgmni on ipc namespace creation/removal\n\nIntroduce a notification mechanism that aims at recomputing msgmni each time\nan ipc namespace is created or removed.\n\nThe ipc namespace notifier chain already defined for memory hotplug management\nis used for that purpose too.\n\nEach time a new ipc namespace is allocated or an existing ipc namespace is\nremoved, the ipcns notifier chain is notified.  The callback routine for each\nregistered ipc namespace is then activated in order to recompute msgmni for\nthat namespace.\n\nSigned-off-by: Nadia Derbey \u003cNadia.Derbey@bull.net\u003e\nCc: Yasunori Goto \u003cy-goto@jp.fujitsu.com\u003e\nCc: Matt Helsley \u003cmatthltc@us.ibm.com\u003e\nCc: Mingming Cao \u003ccmm@us.ibm.com\u003e\nCc: Pierre Peiffer \u003cpierre.peiffer@bull.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b6b337ad1c1d6fe11b09b35d75464b84b3e11f07",
      "tree": "df174a23a827cc43db76900d1ddbbef3ac9ddc90",
      "parents": [
        "0c40ba4fd64f98e7a5cba8ffaedbd68642a85700"
      ],
      "author": {
        "name": "Nadia Derbey",
        "email": "Nadia.Derbey@bull.net",
        "time": "Tue Apr 29 01:00:42 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:12 2008 -0700"
      },
      "message": "ipc: recompute msgmni on memory add / remove\n\nIntroduce the registration of a callback routine that recomputes msg_ctlmni\nupon memory add / remove.\n\nA single notifier block is registered in the hotplug memory chain for all the\nipc namespaces.\n\nSince the ipc namespaces are not linked together, they have their own\nnotification chain: one notifier_block is defined per ipc namespace.\n\nEach time an ipc namespace is created (removed) it registers (unregisters) its\nnotifier block in (from) the ipcns chain.  The callback routine registered in\nthe memory chain invokes the ipcns notifier chain with the IPCNS_LOWMEM event.\n Each callback routine registered in the ipcns namespace, in turn, recomputes\nmsgmni for the owning namespace.\n\nSigned-off-by: Nadia Derbey \u003cNadia.Derbey@bull.net\u003e\nCc: Yasunori Goto \u003cy-goto@jp.fujitsu.com\u003e\nCc: Matt Helsley \u003cmatthltc@us.ibm.com\u003e\nCc: Mingming Cao \u003ccmm@us.ibm.com\u003e\nCc: Pierre Peiffer \u003cpierre.peiffer@bull.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4d89dc6ab2711258bfd12c72d753f3ad56b244e2",
      "tree": "a971c08eab247a7d69ae5fe54c4e0bdfef5d29ba",
      "parents": [
        "f7bf3df8be72d98afa84f5ff183e14c1ba1e560d"
      ],
      "author": {
        "name": "Nadia Derbey",
        "email": "Nadia.Derbey@bull.net",
        "time": "Tue Apr 29 01:00:40 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:12 2008 -0700"
      },
      "message": "ipc: scale msgmni to the number of ipc namespaces\n\nSince all the namespaces see the same amount of memory (the total one) this\npatch introduces a new variable that counts the ipc namespaces and divides\nmsg_ctlmni by this counter.\n\nSigned-off-by: Nadia Derbey \u003cNadia.Derbey@bull.net\u003e\nCc: Yasunori Goto \u003cy-goto@jp.fujitsu.com\u003e\nCc: Matt Helsley \u003cmatthltc@us.ibm.com\u003e\nCc: Mingming Cao \u003ccmm@us.ibm.com\u003e\nCc: Pierre Peiffer \u003cpierre.peiffer@bull.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "01b8b07a5d77d22e609267dcae74d15e3e9c5f13",
      "tree": "dd53c51f75de9511da7fdf283c73080d6c2552a8",
      "parents": [
        "ed2ddbf88c0ddeeae4c78bb306a116dfd867c55c"
      ],
      "author": {
        "name": "Pierre Peiffer",
        "email": "pierre.peiffer@bull.net",
        "time": "Fri Feb 08 04:18:57 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 08 09:22:26 2008 -0800"
      },
      "message": "IPC: consolidate sem_exit_ns(), msg_exit_ns() and shm_exit_ns()\n\nsem_exit_ns(), msg_exit_ns() and shm_exit_ns() are all called when an\nipc_namespace is released to free all ipcs of each type.  But in fact, they\ndo the same thing: they loop around all ipcs to free them individually by\ncalling a specific routine.\n\nThis patch proposes to consolidate this by introducing a common function,\nfree_ipcs(), that do the job.  The specific routine to call on each\nindividual ipcs is passed as parameter.  For this, these ipc-specific\n\u0027free\u0027 routines are reworked to take a generic \u0027struct ipc_perm\u0027 as\nparameter.\n\nSigned-off-by: Pierre Peiffer \u003cpierre.peiffer@bull.net\u003e\nCc: Cedric Le Goater \u003cclg@fr.ibm.com\u003e\nCc: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nCc: Nadia Derbey \u003cNadia.Derbey@bull.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ed2ddbf88c0ddeeae4c78bb306a116dfd867c55c",
      "tree": "de6d6828c03f98be6fc41e8acf3b3e52df28be9b",
      "parents": [
        "4b9fcb0ec60584d639ad105c42b75a3447071e47"
      ],
      "author": {
        "name": "Pierre Peiffer",
        "email": "pierre.peiffer@bull.net",
        "time": "Fri Feb 08 04:18:57 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 08 09:22:26 2008 -0800"
      },
      "message": "IPC: make struct ipc_ids static in ipc_namespace\n\nEach ipc_namespace contains a table of 3 pointers to struct ipc_ids (3 for\nmsg, sem and shm, structure used to store all ipcs) These \u0027struct ipc_ids\u0027\nare dynamically allocated for each icp_namespace as the ipc_namespace\nitself (for the init namespace, they are initialized with pointers to\nstatic variables instead)\n\nIt is so for historical reason: in fact, before the use of idr to store the\nipcs, the ipcs were stored in tables of variable length, depending of the\nmaximum number of ipc allowed.  Now, these \u0027struct ipc_ids\u0027 have a fixed\nsize.  As they are allocated in any cases for each new ipc_namespace, there\nis no gain of memory in having them allocated separately of the struct\nipc_namespace.\n\nThis patch proposes to make this table static in the struct ipc_namespace.\nThus, we can allocate all in once and get rid of all the code needed to\nallocate and free these ipc_ids separately.\n\nSigned-off-by: Pierre Peiffer \u003cpierre.peiffer@bull.net\u003e\nAcked-by: Cedric Le Goater \u003cclg@fr.ibm.com\u003e\nCc: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nCc: Nadia Derbey \u003cNadia.Derbey@bull.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ae5e1b22f17983da929a0d0178896269e19da186",
      "tree": "e9937e2060167a430cf90955327d1a5a2e7b2303",
      "parents": [
        "58bfdd6deeec02b73691ea2c951a3c5d743bca63"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Fri Feb 08 04:18:22 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 08 09:22:23 2008 -0800"
      },
      "message": "namespaces: move the IPC namespace under IPC_NS option\n\nCurrently the IPC namespace management code is spread over the ipc/*.c files.\nI moved this code into ipc/namespace.c file which is compiled out when needed.\n\nThe linux/ipc_namespace.h file is used to store the prototypes of the\nfunctions in namespace.c and the stubs for NAMESPACES\u003dn case.  This is done\nso, because the stub for copy_ipc_namespace requires the knowledge of the\nCLONE_NEWIPC flag, which is in sched.h.  But the linux/ipc.h file itself in\nincluded into many many .c files via the sys.h-\u003esem.h sequence so adding the\nsched.h into it will make all these .c depend on sched.h which is not that\ngood.  On the other hand the knowledge about the namespaces stuff is required\nin 4 .c files only.\n\nBesides, this patch compiles out some auxiliary functions from ipc/sem.c,\nmsg.c and shm.c files.  It turned out that moving these functions into\nnamespaces.c is not that easy because they use many other calls and macros\nfrom the original file.  Moving them would make this patch complicated.  On\nthe other hand all these functions can be consolidated, so I will send a\nseparate patch doing this a bit later.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nAcked-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nCc: Cedric Le Goater \u003cclg@fr.ibm.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Herbert Poetzl \u003cherbert@13thfloor.at\u003e\nCc: Kirill Korotaev \u003cdev@sw.ru\u003e\nCc: Sukadev Bhattiprolu \u003csukadev@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    }
  ]
}
