)]}'
{
  "log": [
    {
      "commit": "228e548e602061b08ee8e8966f567c12aa079682",
      "tree": "4c79ecf071d6174d42da1557812a4646d0aaa5af",
      "parents": [
        "1c5cae815d19ffe02bdfda1260949ef2b1806171"
      ],
      "author": {
        "name": "Anton Blanchard",
        "email": "anton@samba.org",
        "time": "Mon May 02 20:21:35 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu May 05 11:10:14 2011 -0700"
      },
      "message": "net: Add sendmmsg socket system call\n\nThis patch adds a multiple message send syscall and is the send\nversion of the existing recvmmsg syscall. This is heavily\nbased on the patch by Arnaldo that added recvmmsg.\n\nI wrote a microbenchmark to test the performance gains of using\nthis new syscall:\n\nhttp://ozlabs.org/~anton/junkcode/sendmmsg_test.c\n\nThe test was run on a ppc64 box with a 10 Gbit network card. The\nbenchmark can send both UDP and RAW ethernet packets.\n\n64B UDP\n\nbatch   pkts/sec\n1       804570\n2       872800 (+ 8 %)\n4       916556 (+14 %)\n8       939712 (+17 %)\n16      952688 (+18 %)\n32      956448 (+19 %)\n64      964800 (+20 %)\n\n64B raw socket\n\nbatch   pkts/sec\n1       1201449\n2       1350028 (+12 %)\n4       1461416 (+22 %)\n8       1513080 (+26 %)\n16      1541216 (+28 %)\n32      1553440 (+29 %)\n64      1557888 (+30 %)\n\nWe see a 20% improvement in throughput on UDP send and 30%\non raw socket send.\n\n[ Add sparc syscall entries. -DaveM ]\n\nSigned-off-by: Anton Blanchard \u003canton@samba.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "60c2ffd3d2cf12008747d920ae118df119006003",
      "tree": "7b4e86de5eed6a5377bba5a875b326420fe3503b",
      "parents": [
        "ccdddf500f2b1b8e88ac8e3d4dfc15cce9f73886"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Wed Dec 09 20:58:16 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Dec 11 15:07:56 2009 -0800"
      },
      "message": "net: fix compat_sys_recvmmsg parameter type\n\ncompat_sys_recvmmsg has a compat_timespec parameter and not a\ntimespec parameter. This way we also get rid of an odd cast.\n\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nAcked-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "748879776e3b738d53e64df6dbec7394b829462a",
      "tree": "421cb23434aec4ad99e8223e984423697a029847",
      "parents": [
        "d19742fb1c68e6db83b76e06dea5a374c99e104f"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@ghostprotocols.net",
        "time": "Tue Oct 20 01:09:17 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Oct 20 01:09:17 2009 -0700"
      },
      "message": "net: Avoid compiler warning for mmsghdr when CONFIG_COMPAT is not selected\n\nReported-by: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@ghostprotocols.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a2e2725541fad72416326798c2d7fa4dafb7d337",
      "tree": "6174be11da607e83eb8efb3775114ad4d6e0ca3a",
      "parents": [
        "c05e85a06e376f6b6d59e71e5333d707e956d78b"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Mon Oct 12 23:40:10 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Oct 12 23:40:10 2009 -0700"
      },
      "message": "net: Introduce recvmmsg socket syscall\n\nMeaning receive multiple messages, reducing the number of syscalls and\nnet stack entry/exit operations.\n\nNext patches will introduce mechanisms where protocols that want to\noptimize this operation will provide an unlocked_recvmsg operation.\n\nThis takes into account comments made by:\n\n. Paul Moore: sock_recvmsg is called only for the first datagram,\n  sock_recvmsg_nosec is used for the rest.\n\n. Caitlin Bestler: recvmmsg now has a struct timespec timeout, that\n  works in the same fashion as the ppoll one.\n\n  If the underlying protocol returns a datagram with MSG_OOB set, this\n  will make recvmmsg return right away with as many datagrams (+ the OOB\n  one) it has received so far.\n\n. Rémi Denis-Courmont \u0026 Steven Whitehouse: If we receive N \u003c vlen\n  datagrams and then recvmsg returns an error, recvmmsg will return\n  the successfully received datagrams, store the error and return it\n  in the next call.\n\nThis paves the way for a subsequent optimization, sk_prot-\u003eunlocked_recvmsg,\nwhere we will be able to acquire the lock only at batch start and end, not at\nevery underlying recvmsg call.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b7058842c940ad2c08dd829b21e5c92ebe3b8758",
      "tree": "5fe78d599fc345ca0bcd4b083b79095a54b2921b",
      "parents": [
        "eb1cf0f8f7a9e5a6d573d5bd72c015686a042db0"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Sep 30 16:12:20 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Sep 30 16:12:20 2009 -0700"
      },
      "message": "net: Make setsockopt() optlen be unsigned.\n\nThis provides safety against negative optlen at the type\nlevel instead of depending upon (sometimes non-trivial)\nchecks against this sprinkled all over the the place, in\neach and every implementation.\n\nBased upon work done by Arjan van de Ven and feedback\nfrom Linus Torvalds.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "230b183921ecbaa5fedc0d35ad6ba7bb64b6e06a",
      "tree": "2ea0a3bde5deab4b90ca9ed58e23b020494f25a0",
      "parents": [
        "53b7997fd5c62408d10b9aafb38974ce90fd2356"
      ],
      "author": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Sat Jul 19 22:35:47 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jul 19 22:35:47 2008 -0700"
      },
      "message": "net: Use standard structures for generic socket address structures.\n\nUse sockaddr_storage{} for generic socket address storage\nand ensures proper alignment.\nUse sockaddr{} for pointers to omit several casts.\n\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "42908c69f61f75dd70e424263ab89ee52040382b",
      "tree": "7c4333d2159d19cb33ae18f718259df258d7d137",
      "parents": [
        "be666e0a1345ed80f29cb30c73da0ec2ea5c5863"
      ],
      "author": {
        "name": "David L Stevens",
        "email": "dlstevens@us.ibm.com",
        "time": "Tue Apr 29 03:23:22 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 29 03:23:22 2008 -0700"
      },
      "message": "net: Add compat support for getsockopt (MCAST_MSFILTER)\n\nThis patch adds support for getsockopt for MCAST_MSFILTER for\nboth IPv4 and IPv6. It depends on the previous setsockopt patch,\nand uses the same method.\n\nSigned-off-by: David L Stevens \u003cdlstevens@us.ibm.com\u003e\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "dae50295488f35d2d617b08a5fae43154c947eec",
      "tree": "afee67a0e85f4a168e0bb75423f1b703f48baad3",
      "parents": [
        "01a2202c95989a4df48e9a5b5e013cb80c6b2d66"
      ],
      "author": {
        "name": "David L Stevens",
        "email": "dlstevens@us.ibm.com",
        "time": "Sun Apr 27 01:06:07 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Apr 27 14:26:53 2008 -0700"
      },
      "message": "ipv4/ipv6 compat: Fix SSM applications on 64bit kernels.\n\nAdd support on 64-bit kernels for seting 32-bit compatible MCAST*\nsocket options.\n\nSigned-off-by: David L Stevens \u003cdlstevens@us.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ae40eb1ef30ab4120bd3c8b7e3da99ee53d27a23",
      "tree": "b5ae288b3c27d13bde9648c41d7db3cfe1884bc2",
      "parents": [
        "cb69cc52364690d7789940c480b3a9490784b680"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Sun Mar 18 17:33:16 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:24:04 2007 -0700"
      },
      "message": "[NET]: Introduce SIOCGSTAMPNS ioctl to get timestamps with nanosec resolution\n\nNow network timestamps use ktime_t infrastructure, we can add a new\nioctl() SIOCGSTAMPNS command to get timestamps in \u0027struct timespec\u0027.\nUser programs can thus access to nanosecond resolution.\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nCC: Stephen Hemminger \u003cshemminger@linux-foundation.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "cee4cca740d209bcb4b9857baa2253d5ba4e3fbe",
      "tree": "88a23004393ea4a32cad79839479c8e653e401d6",
      "parents": [
        "2edc322d420a4cec8dbc184a1220ecd7fa9f8ae6",
        "9348f0de2d2b541b4ba64fb1f4efee9710a3d731"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jun 20 15:10:08 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jun 20 15:10:08 2006 -0700"
      },
      "message": "Merge git://git.infradead.org/hdrcleanup-2.6\n\n* git://git.infradead.org/hdrcleanup-2.6: (63 commits)\n  [S390] __FD_foo definitions.\n  Switch to __s32 types in joystick.h instead of C99 types for consistency.\n  Add \u003csys/types.h\u003e to headers included for userspace in \u003clinux/input.h\u003e\n  Move inclusion of \u003clinux/compat.h\u003e out of user scope in asm-x86_64/mtrr.h\n  Remove struct fddi_statistics from user view in \u003clinux/if_fddi.h\u003e\n  Move user-visible parts of drivers/s390/crypto/z90crypt.h to include/asm-s390\n  Revert include/media changes: Mauro says those ioctls are only used in-kernel(!)\n  Include \u003clinux/types.h\u003e and use __uXX types in \u003clinux/cramfs_fs.h\u003e\n  Use __uXX types in \u003clinux/i2o_dev.h\u003e, include \u003clinux/ioctl.h\u003e too\n  Remove private struct dx_hash_info from public view in \u003clinux/ext3_fs.h\u003e\n  Include \u003clinux/types.h\u003e and use __uXX types in \u003clinux/affs_hardblocks.h\u003e\n  Use __uXX types in \u003clinux/divert.h\u003e for struct divert_blk et al.\n  Use __u32 for elf_addr_t in \u003casm-powerpc/elf.h\u003e, not u32. It\u0027s user-visible.\n  Remove PPP_FCS from user view in \u003clinux/ppp_defs.h\u003e, remove __P mess entirely\n  Use __uXX types in user-visible structures in \u003clinux/nbd.h\u003e\n  Don\u0027t use \u0027u32\u0027 in user-visible struct ip_conntrack_old_tuple.\n  Use __uXX types for S390 DASD volume label definitions which are user-visible\n  S390 BIODASDREADCMB ioctl should use __u64 not u64 type.\n  Remove unneeded inclusion of \u003clinux/time.h\u003e from \u003clinux/ufs_fs.h\u003e\n  Fix private integer types used in V4L2 ioctls.\n  ...\n\nManually resolve conflict in include/linux/mtd/physmap.h\n"
    },
    {
      "commit": "29f767a254be8fd44fb5d2b5a48e9cda8399c4ea",
      "tree": "b14e98dd48ad7dd0343d09fe4f7224bc98bc9991",
      "parents": [
        "c331eb04b995ad276a7ece4608326f1db4e137d8"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Tue May 30 21:27:18 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed May 31 16:27:11 2006 -0700"
      },
      "message": "[PATCH] net/compat.h build fix\n\nFrom: Andrew Morton \u003cakpm@osdl.org\u003e\n\nMove the forward decl outside the ifdef, since we use it in both legs.\n\nShould fix the spacr64 build error reported in\n\thttp://bugzilla.kernel.org/show_bug.cgi?id\u003d6625\n\nAcked-by: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: Cedric Pellerin \u003ccedric@bidouillesoft.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "62c4f0a2d5a188f73a94f2cb8ea0dba3e7cf0a7f",
      "tree": "e85ca2d0dd43f90dccf758338764c3caa55f333f",
      "parents": [
        "089f26d5e31b7bf42a9a8fefec08b30cd27f4b0e"
      ],
      "author": {
        "name": "David Woodhouse",
        "email": "dwmw2@infradead.org",
        "time": "Wed Apr 26 12:56:16 2006 +0100"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "dwmw2@infradead.org",
        "time": "Wed Apr 26 12:56:16 2006 +0100"
      },
      "message": "Don\u0027t include linux/config.h from anywhere else in include/\n\nSigned-off-by: David Woodhouse \u003cdwmw2@infradead.org\u003e\n"
    },
    {
      "commit": "f0ac2614412e2b597e2d5bfbd3960b4f73718b41",
      "tree": "b1d6c3fabc0f143eec1dcb1ce7c5f6d2bcb64ee1",
      "parents": [
        "89bbfc95d65839d6ae23ddab8a3cc5af4ae88383"
      ],
      "author": {
        "name": "Shaun Pereira",
        "email": "spereira@tusc.com.au",
        "time": "Tue Mar 21 23:59:39 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Mar 21 23:59:39 2006 -0800"
      },
      "message": "[NET]: socket timestamp 32 bit handler for 64 bit kernel\n\nGet socket timestamp handler function that does not use the\nioctl32_hash_table.\n\nSigned-off-by: Shaun Pereira \u003cspereira@tusc.com.au\u003e\nAcked-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e50ef933e649a2b43aa10c8a60c491543b8b4c02",
      "tree": "c10785ae043fe527cea839c4153e4bfede48cc20",
      "parents": [
        "e308e25c97f06cf704e65eeb773412f5460a3b93"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Sep 08 12:32:46 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Sep 08 12:32:46 2005 -0700"
      },
      "message": "[NET]: Need struct sock forward decl in net/compat.h\n\nElse we get build failures like:\n\n  CC      arch/sparc64/kernel/sparc64_ksyms.o\nIn file included from arch/sparc64/kernel/sparc64_ksyms.c:28:\ninclude/net/compat.h:37: warning: \"struct sock\" declared inside parameter list\ninclude/net/compat.h:37: warning: its scope is only this definition or declaration, which is probably not what you want\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8920e8f94c44e31a73bdf923b04721e26e88cadd",
      "tree": "7a0195643c37c63335224358256fab8cd445a671",
      "parents": [
        "5aa3b610a7330c3cd6f0cb264d2189a3a1dcf534"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Sep 07 18:28:51 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Sep 08 08:14:11 2005 -0700"
      },
      "message": "[PATCH] Fix 32bit sendmsg() flaw\n\nWhen we copy 32bit -\u003emsg_control contents to kernel, we walk the same\nuserland data twice without sanity checks on the second pass.\n\nSecond version of this patch: the original broke with 64-bit arches\nrunning 32-bit-compat-mode executables doing sendmsg() syscalls with\nunaligned CMSG data areas\n\nAnother thing is that we use kmalloc() to allocate and sock_kfree_s()\nto free afterwards; less serious, but also needs fixing.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: David Woodhouse \u003cdwmw2@infradead.org\u003e\nSigned-off-by: Chris Wright \u003cchrisw@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "1da177e4c3f41524e886b7f1b8a0c1fc7321cac2",
      "tree": "0bba044c4ce775e45a88a51686b5d9f90697ea9d",
      "parents": [],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Apr 16 15:20:36 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Apr 16 15:20:36 2005 -0700"
      },
      "message": "Linux-2.6.12-rc2\n\nInitial git repository build. I\u0027m not bothering with the full history,\neven though we have it. We can create a separate \"historical\" git\narchive of that later if we want to, and in the meantime it\u0027s about\n3.2GB when imported into git - space that would just make the early\ngit days unnecessarily complicated, when we don\u0027t have a lot of good\ninfrastructure for it.\n\nLet it rip!\n"
    }
  ]
}
