Third Edition by Robert Love is an excellent book, but still there is a way for improvement. I'll attached tiny errata and my wishlist below.
Wishlist
| Note: Developers writing applications for OS X do not need to incorporate | |
| this code into their applications, since OS X provides a system service to | |
| handle this for them. If every application developer were to link-in the | |
| mDNSResponder code into their application, then we would end up with a | |
| situation like the picture below: | |
| +------------------+ +------------------+ +------------------+ | |
| | Application 1 | | Application 2 | | Application 3 | | |
| +------------------+ +------------------+ +------------------+ | |
| | mDNS Core | | mDNS Core | | mDNS Core | |
| commit e95636528228a11ed22e5d17e160d69325e8572f | |
| Author: Alexey Ivanov <[email protected]> | |
| Date: Tue Jul 31 01:48:45 2012 +0400 | |
| YANDEX: Added "fade" readahead type | |
| This replaces comlicated logic with simple one: | |
| * If we've already read more than file size -- read 8 pages | |
| * Else if we read more than file size / 2 -- read (ra_pages / 4) pages | |
| * Otherwise read 8 pages |
| commit e4d08801d7cfb46a2f8cd46049c455f63d85a064 | |
| Author: Alexey Ivanov <[email protected]> | |
| Date: Wed Jul 18 22:14:36 2012 +0400 | |
| YANDEX: tcp: Added knobs to tune initial window sizes | |
| Added following sysctls | |
| /* TCP initial congestion window */ | |
| TCP_INIT_CWND -> net.ipv4.tcp_init_cwnd |
| root@ws36-000:~# cat /etc/udev/rules.d/80-iosched.rules | |
| # Default CFQ settings does not perform well in our environment. Switch it to | |
| # IOPS mode and use NCQ. | |
| # | |
| # XXX: This applies even for SATA drives. If you want to disable IOPS mode on | |
| # SATA drives uncomment following line: | |
| #ENV{ID_BUS}=="ata", GOTO="end_iosched" | |
| SUBSYSTEM!="block", GOTO="end_iosched" | |
| KERNEL=="dm-*", GOTO="end_iosched" |
I'm myself by no means UTF-8 guru but there is some inconsistency with `RFC3629`_:
| commit 99f490afdc91d4965aafd5629567ef02c515e169 | |
| Author: Alexey Ivanov <[email protected]> | |
| Date: Tue Apr 17 16:55:10 2012 +0400 | |
| YANDEX: tcpm: Added TCP sysctl tunables | |
| I made following constants tunable for internal testing: | |
| TCP_DELACK_MIN -> net.ipv4.tcp_delack_min | |
| TCP_DELACK_MAX -> net.ipv4.tcp_delack_max | |
| TCP_ATO_MIN -> net.ipv4.tcp_ato_min |
| #!/usr/bin/env python | |
| import logging as log | |
| from fileinput import input | |
| from collections import namedtuple, defaultdict | |
| from pprint import pprint | |
| if __debug__: | |
| log_level = log.DEBUG | |
| else: |
| #!/usr/bin/env | |
| # -*- coding: utf-8 -*- | |
| from collections import Counter | |
| from contextlib import contextmanager | |
| def djb2(uuid): | |
| """ See for details: http://www.cse.yorku.ca/~oz/hash.html """ | |
| _hash = 5381 |
| $ git log | perl -nle 'print $1 if /.*Sponsored by:\s+(?:The )?(.+?)\b.*/'|sort|uniq -c|sort -nr | |
| 1160 DARPA | |
| 330 FreeBSD | |
| 202 Isilon | |
| 146 Google | |
| 96 Sandvine | |
| 85 iXsystems | |
| 64 TCP | |
| 56 Juniper | |
| 47 Nokia |