1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
1652
1653
1654
1655
1656
1657
1658
1659
1660
1661
1662
1663
1664
1665
1666
1667
1668
1669
1670
1671
1672
1673
1674
1675
1676
1677
1678
1679
1680
1681
1682
1683
1684
1685
1686
1687
1688
1689
1690
1691
1692
1693
1694
1695
1696
1697
1698
1699
1700
1701
1702
1703
1704
1705
1706
1707
1708
1709
1710
1711
1712
1713
1714
1715
1716
1717
1718
1719
1720
1721
1722
1723
1724
1725
1726
1727
1728
1729
1730
1731
1732
1733
1734
1735
1736
1737
1738
1739
1740
1741
1742
1743
1744
1745
1746
1747
1748
1749
1750
1751
1752
1753
1754
1755
1756
1757
1758
1759
1760
1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771
1772
1773
1774
1775
1776
1777
1778
1779
1780
1781
1782
1783
1784
1785
1786
1787
1788
1789
1790
1791
1792
1793
1794
1795
1796
1797
1798
1799
1800
1801
1802
1803
1804
1805
1806
1807
1808
1809
1810
1811
1812
1813
1814
1815
1816
1817
1818
1819
1820
1821
1822
1823
1824
1825
1826
1827
1828
1829
1830
1831
1832
1833
1834
1835
1836
1837
1838
1839
1840
1841
1842
1843
1844
1845
1846
1847
1848
1849
1850
1851
1852
1853
1854
1855
1856
1857
1858
1859
1860
1861
1862
1863
1864
1865
1866
1867
1868
1869
1870
1871
1872
1873
1874
1875
1876
1877
1878
1879
1880
1881
1882
1883
1884
1885
1886
1887
1888
1889
1890
1891
1892
1893
1894
1895
1896
1897
1898
1899
1900
1901
1902
1903
1904
1905
1906
1907
1908
1909
1910
1911
1912
1913
1914
1915
1916
1917
1918
1919
1920
1921
1922
1923
1924
1925
1926
1927
1928
1929
1930
1931
1932
1933
1934
1935
1936
1937
1938
1939
1940
1941
1942
1943
1944
1945
1946
1947
1948
1949
1950
1951
1952
1953
1954
1955
1956
1957
1958
1959
1960
1961
1962
1963
1964
1965
1966
1967
1968
1969
1970
1971
1972
1973
1974
1975
1976
1977
1978
1979
1980
1981
1982
1983
1984
1985
1986
1987
1988
1989
1990
1991
1992
1993
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
2027
2028
2029
2030
2031
2032
2033
2034
2035
2036
2037
2038
2039
2040
2041
2042
2043
2044
2045
2046
2047
2048
2049
2050
2051
2052
2053
2054
2055
2056
2057
2058
2059
2060
2061
2062
2063
2064
2065
2066
2067
2068
2069
2070
2071
2072
2073
2074
2075
2076
2077
2078
2079
2080
2081
2082
2083
2084
2085
2086
2087
2088
|
<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:db="http://docbook.org/ns/docbook">
<head>
<title>FreeBSD Quarterly Status Report</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<link rel="shortcut icon" href="https://www.FreeBSD.org/favicon.ico" type="image/x-icon" />
<link rel="stylesheet" media="screen,print" href="https://www.FreeBSD.org/layout/css/fixed.css?20130112" type="text/css" />
</head>
<body>
<div id="containerwrap">
<div id="container">
<span class="txtoffscreen"><a href="#content" title="Skip site navigation" accesskey="1">Skip site navigation</a> (1)
<a href="#contentwrap" title="Skip section navigation" accesskey="2">Skip section navigation</a> (2)
</span>
<div id="headercontainer">
<div id="header">
<h2 class="blockhide">Header And Logo</h2>
<div id="headerlogoleft">
<a href="../.." title="FreeBSD">
<img src="https://www.FreeBSD.org/layout/images/logo-red.png" width="457" height="75" alt="FreeBSD" />
</a>
</div>
<div id="headerlogoright">
<div class="frontdonateroundbox">
<div class="frontdonatetop">
<div>
<b style="display: none;">.</b>
</div>
</div>
<div class="frontdonatecontent">
<a href="https://www.FreeBSDFoundation.org/donate/">Donate to FreeBSD</a>
</div>
<div class="frontdonatebot">
<div>
<b style="display: none;">.</b>
</div>
</div>
</div>
<h2 class="blockhide">Peripheral Links</h2>
<div id="searchnav">
<ul id="searchnavlist"></ul>
</div>
<div id="search">
<form method="get" id="search-form" action="https://duckduckgo.com/" onsubmit="document.getElementById('words').value+=' (site:www.FreeBSD.org OR site:docs.FreeBSD.org OR site:lists.FreeBSD.org OR site:wiki.FreeBSD.org OR site:forums.FreeBSD.org)'">
<h2 class="blockhide">
<label for="words">Search</label>
</h2>
<input type="hidden" name="ka" value="v" />
<input type="hidden" name="kt" value="v" />
<input type="hidden" name="kh" value="1" />
<input type="hidden" name="kj" value="r2" />
<input id="words" name="q" type="text" size="20" maxlength="255" onfocus="if( this.value==this.defaultValue ) this.value='';" value="Search" />
<span> </span>
<input id="submit" name="submit" type="submit" value="Search" />
</form>
</div>
</div>
</div>
<h2 class="blockhide">Site Navigation</h2>
<div id="menu">
<ul class="first">
<li>
<a href="../../">Home</a>
</li>
</ul>
<ul>
<li>
<a href="../../about.html">About</a>
<ul>
<li>
<a href="../../projects/newbies.html">Introduction</a>
</li>
<li>
<a href="../../features.html">Features</a>
</li>
<li>
<a href="../../advocacy/">Advocacy</a>
</li>
<li>
<a href="../../marketing/">Marketing</a>
</li>
<li>
<a href="../../privacy.html">Privacy Policy</a>
</li>
</ul>
</li>
</ul>
<ul>
<li>
<a href="../../where.html">Get FreeBSD</a>
<ul>
<li>
<a href="../../releases/">Release Information</a>
</li>
<li>
<a href="../../releng/">Release Engineering</a>
</li>
</ul>
</li>
</ul>
<ul>
<li>
<a href="../../docs.html">Documentation</a>
<ul>
<li>
<a href="../../doc/en_US.ISO8859-1/books/faq/">FAQ</a>
</li>
<li>
<a href="../../doc/en_US.ISO8859-1/books/handbook/">Handbook</a>
</li>
<li>
<a href="../../doc/en_US.ISO8859-1/books/porters-handbook">Porter's Handbook</a>
</li>
<li>
<a href="../../doc/en_US.ISO8859-1/books/developers-handbook">Developer's Handbook</a>
</li>
<li>
<a href="//www.FreeBSD.org/cgi/man.cgi">Manual Pages</a>
</li>
<li>
<a href="https://papers.FreeBSD.org">Presentations and Papers</a>
</li>
<li>
<a href="../../doc/en_US.ISO8859-1/books/fdp-primer">Documentation Project Primer</a>
</li>
<li>
<a href="../../docs/books.html">All Books and Articles</a>
</li>
</ul>
</li>
</ul>
<ul>
<li>
<a href="../../community.html">Community</a>
<ul>
<li>
<a href="../../community/mailinglists.html">Mailing Lists</a>
</li>
<li>
<a href="https://forums.FreeBSD.org">Forums</a>
</li>
<li>
<a href="../../usergroups.html">User Groups</a>
</li>
<li>
<a href="../../events/events.html">Events</a>
</li>
<li>
<a href="http://freebsdjournal.com">FreeBSD Journal</a>
</li>
<li>
<a href="http://serverfault.com/questions/tagged/freebsd">Q&A (external)</a>
</li>
</ul>
</li>
</ul>
<ul>
<li>
<a href="../../projects/index.html">Developers</a>
<ul>
<li>
<a href="https://wiki.FreeBSD.org/IdeasPage">Project Ideas</a>
</li>
<li>
<a href="https://cgit.FreeBSD.org">Git Repository</a>
</li>
<li>
<a href="https://svnweb.FreeBSD.org">Subversion Repository</a>
</li>
<li>
<a href="https://github.com/freebsd">GitHub Mirror</a>
</li>
<li>
<a href="https://reviews.FreeBSD.org">Code Review (Phabricator)</a>
</li>
<li>
<a href="https://wiki.FreeBSD.org">Wiki</a>
</li>
<li>
<a href="https://ci.FreeBSD.org">Continuous Integration Service</a>
</li>
</ul>
</li>
</ul>
<ul>
<li>
<a href="../../support.html">Support</a>
<ul>
<li>
<a href="../../commercial/commercial.html">Vendors</a>
</li>
<li>
<a href="../../security/">Security Information</a>
</li>
<li>
<a href="https://bugs.FreeBSD.org/search/">Bug Reports</a>
</li>
<li>
<a href="https://www.FreeBSD.org/support.html">Submitting Bug Reports</a>
</li>
</ul>
</li>
</ul>
<ul>
<li>
<a href="https://www.freebsdfoundation.org/">Foundation</a>
<ul>
<li>
<a href="https://www.freebsdfoundation.org/donate/">Monetary Donations</a>
</li>
<li>
<a href="../../donations/index.html#systems">Hardware Donations</a>
</li>
</ul>
</li>
</ul>
</div>
</div>
<div id="content">
<div id="sidewrap">
<div id="sidenav">
<h2 class="blockhide">Section Navigation</h2>
<ul>
<li>
<a href="../../about.html">About</a>
</li>
<li>
<a href="../../features.html">Features</a>
</li>
<li>
<a href="../../applications.html">Applications</a>
</li>
<li>
<a href="../../advocacy/">Advocacy</a>
</li>
<li>
<a href="../../marketing/">Marketing</a>
</li>
<li>
<a href="../../administration.html">Administration</a>
</li>
<li>
<a href="../../news/newsflash.html">News</a>
</li>
<li>
<a href="../../events/events.html">Events</a>
</li>
<li>
<a href="../../news/press.html">Press</a>
</li>
<li>
<a href="../../multimedia/multimedia.html">Multimedia</a>
</li>
<li>
<a href="../../art.html">Artwork</a>
</li>
<li>
<a href="../../logo.html">Logo</a>
</li>
<li>
<a href="../../donations/">Donations</a>
</li>
<li>
<a href="../../copyright/">Legal Notices</a>
</li>
<li>
<a href="../../privacy.html">Privacy Policy</a>
</li>
</ul>
</div>
</div>
<div id="contentwrap"><h1>Introduction</h1><p>The first quarter of 2016 showed that FreeBSD retains a strong
sense of ipseity. Improvements were pervasive, lending
credence to the concept of meliorism.</p><p>Panegyrics are relatively scarce, but not for lack of need.
Perhaps this missive might serve that function in some
infinitesimal way.</p><p>There was propagation, reformation, randomization,
accumulation, emulation, transmogrification, debuggenation, and
metaphrasal during this quarter.</p><p>In the financioartistic arena, pork snout futures narrowly
edged out pointilism, while parietal art remained fixed.</p><p>In all, a discomfiture of abundance. View the rubrics below,
and marvel at their profusion and magnitude! Marvel!</p><p>—Warren Block</p><p><hr /></p><p>Please submit status reports for the second quarter of 2016 by
July 7. A thesaurus will be provided for submitters who do not
have one of their own. We will need them back afterwards,
preferably with no new teeth marks on the covers. Thank
you!</p><hr /><h3><a href="#FreeBSD-Team-Reports">FreeBSD Team Reports</a></h3><ul><li><a href="#Cluster-Admin">Cluster Admin</a></li><li><a href="#The-FreeBSD-Core-Team">The FreeBSD Core Team</a></li></ul><h3><a href="#Projects">Projects</a></h3><ul><li><a href="#Address-Space-Layout-Randomization">Address Space Layout Randomization</a></li><li><a href="#Ceph-on-FreeBSD">Ceph on FreeBSD</a></li><li><a href="#Process-Shared-Locks-for-libthr">Process-Shared Locks for libthr</a></li><li><a href="#RCTL-Disk-IO-Limits">RCTL Disk IO Limits</a></li><li><a href="#The-Graphics-Stack-on-FreeBSD">The Graphics Stack on FreeBSD</a></li></ul><h3><a href="#Kernel">Kernel</a></h3><ul><li><a href="#ARM-Allwinner-SoC-Support">ARM Allwinner SoC Support</a></li><li><a href="#CAM-I/O-Scheduler">CAM I/O Scheduler</a></li><li><a href="#FDT-Overlay-Support-in-UBLDR">FDT Overlay Support in UBLDR</a></li><li><a href="#Filemon-Performance/Stability-Improvements">Filemon Performance/Stability Improvements</a></li><li><a href="#FreeBSD-Integration-Services-(BIS)">FreeBSD Integration Services (BIS)</a></li><li><a href="#Infiniband">Infiniband</a></li><li><a href="#MMC-Stack-Under-CAM-Framework">MMC Stack Under CAM Framework</a></li><li><a href="#NFS-Server">NFS Server</a></li><li><a href="#Static-Analysis-of-the-FreeBSD-Kernel-with-PVS-Studio">Static Analysis of the FreeBSD Kernel with PVS Studio</a></li></ul><h3><a href="#Architectures">Architectures</a></h3><ul><li><a href="#AmigaOne-X5000-Support">AmigaOne X5000 Support</a></li><li><a href="#FreeBSD-on-Cavium-ThunderX-(arm64)">FreeBSD on Cavium ThunderX (arm64)</a></li><li><a href="#powerpcspe-Target">powerpcspe Target</a></li></ul><h3><a href="#Userland-Programs">Userland Programs</a></h3><ul><li><a href="#ELF-Tool-Chain-Tools">ELF Tool Chain Tools</a></li><li><a href="#Native-PCI-express-HotPlug">Native PCI-express HotPlug</a></li><li><a href="#Updates-to-GDB">Updates to GDB</a></li><li><a href="#Using-lld,-the-LLVM-Linker,-to-Link-FreeBSD">Using lld, the LLVM Linker, to Link
FreeBSD</a></li></ul><h3><a href="#Ports">Ports</a></h3><ul><li><a href="#GitLab-Port">GitLab Port</a></li><li><a href="#GNOME-on-FreeBSD">GNOME on FreeBSD</a></li><li><a href="#KDE-on-FreeBSD">KDE on FreeBSD</a></li><li><a href="#Obsoleting-Rails-3">Obsoleting Rails 3</a></li><li><a href="#Ports-Collection">Ports Collection</a></li></ul><h3><a href="#Documentation">Documentation</a></h3><ul><li><a href="#New-FreeBSD-Mastery-Books">New FreeBSD Mastery Books</a></li><li><a href="#Spanish-FAQ-and-Chinese-Porter's-Handbook-Translations">Spanish FAQ and Chinese Porter's Handbook
Translations</a></li><li><a href="#The-FreeBSD-German-Documentation-Project">The FreeBSD German Documentation Project</a></li></ul><h3><a href="#Miscellaneous">Miscellaneous</a></h3><ul><li><a href="#FreeBSD-Build">FreeBSD Build</a></li><li><a href="#Qt-5.6-on-Raspberry-Pi">Qt 5.6 on Raspberry Pi</a></li><li><a href="#The-FreeBSD-Foundation">The FreeBSD Foundation</a></li></ul><ul></ul><hr /><br /><h1><a name="FreeBSD-Team-Reports" href="#FreeBSD-Team-Reports" id="FreeBSD-Team-Reports">FreeBSD Team Reports</a></h1><br /><h2><a name="Cluster-Admin" href="#Cluster-Admin" id="Cluster-Admin">Cluster Admin</a></h2><p>
Contact: <<a href="mailto:clusteradm@FreeBSD.org">clusteradm@FreeBSD.org</a>>
</p>
<p>This quarter, we:</p>
<ul>
<li>migrated services out of the hosting space in ISC
(peter, sbruno)</li>
<li>began migration of services into the RootBSD hosting space
(peter, sbruno)</li>
<li>collaborated with the phabricator admin team to migrate to
a new and improved host in NYI. (allanjude, peter,
sbruno)</li>
<li>installed a new and beefier Jenkins machine (gnn, lwshu,
sbruno)</li>
<li>are still looking for more Asian mirrors for pkg, svn, and ftp
(Japan, India). (sbruno)</li>
<li>completed the migration of the Taiwanese mirror to its new location.
(lwshu)</li>
<li>started hosting a clang/llvm buildbbot in the FreeBSD cluster
at NYI (sbruno, emaste)</li>
<li>resolved a UK mirror outage with Bytemark (gavin,
peter)</li>
</ul>
<hr /><h2><a name="The-FreeBSD-Core-Team" href="#The-FreeBSD-Core-Team" id="The-FreeBSD-Core-Team">The FreeBSD Core Team</a></h2><p>
Contact: FreeBSD Core Team <<a href="mailto:core@FreeBSD.org">core@FreeBSD.org</a>>
</p>
<p>During the first quarter of 2016, the most important business
of the FreeBSD Core Team has been to respond to the harassment
incident last year. Core's actions were to assemble a
timeline of the events and in the light of that to review
Core's actions at the time; and to make recommendations about
how better to handle such cases in future. During this
process, draft reports were reviewed by people concerned in
the case and in addition a number of interested members of the
FreeBSD community. Core would like to thank everyone involved
for their contributions.</p>
<p>The report was published to the FreeBSD developer community in
mid-February, and contained six recommendations for the
community to consider.</p>
<p>Core is also coordinating with the committee headed by Anne
Dickison who are reviewing the Code of Conduct. A corpus of
case studies is being assembled, which will be re-examined to
see what impact changes to the Code of Conduct would have
had.</p>
<p>Core, together with John Baldwin, are working on a plan to
create a separate repository containing GPLv3 toolchain
components. This will allow modernization of code within base
beyond what the existing GPLv2 toolchain can handle, and
permit support of certain new architectures where a copyfree
licensed alternative (i.e., LLVM) is not yet available. A
position paper will soon be circulated to developers for
comment.</p>
<p>During this quarter three new commit bits were issued, and
one was returned for safekeeping. Please welcome Wojciech
Macek, Jared McNeil and Stanislav Galabov, and bid farewell to
Davide Italiano, who although too busy to work on FreeBSD
directly, will still be contributing through his work upstream
on lld and other parts of the toolchain.</p>
<hr /><br /><h1><a name="Projects" href="#Projects" id="Projects">Projects</a></h1><br /><h2><a name="Address-Space-Layout-Randomization" href="#Address-Space-Layout-Randomization" id="Address-Space-Layout-Randomization">Address Space Layout Randomization</a></h2><table title="Links" style="white-space: nowrap;"><tr><td>Links</td></tr><tr><td><a href="https://kib.kiev.ua/kib/aslr" title="https://kib.kiev.ua/kib/aslr">Patch Home</a></td><td>
URL: <a href="https://kib.kiev.ua/kib/aslr" title="Patch Home">https://kib.kiev.ua/kib/aslr</a></td></tr><tr><td><a href="https://www.kib.kiev.ua/kib/aslr/paxtest.log" title="https://www.kib.kiev.ua/kib/aslr/paxtest.log">paxtest.log</a></td><td>
URL: <a href="https://www.kib.kiev.ua/kib/aslr/paxtest.log" title="paxtest.log">https://www.kib.kiev.ua/kib/aslr/paxtest.log</a></td></tr><tr><td><a href="https://www.kib.kiev.ua/kib/aslr/fedora.log" title="https://www.kib.kiev.ua/kib/aslr/fedora.log">fedora.log</a></td><td>
URL: <a href="https://www.kib.kiev.ua/kib/aslr/fedora.log" title="fedora.log">https://www.kib.kiev.ua/kib/aslr/fedora.log</a></td></tr></table><p>
Contact:
Konstantin
Belousov
<<a href="mailto:kib@FreeBSD.org">kib@FreeBSD.org</a>>
<br />
Contact:
Ed
Maste
<<a href="mailto:emaste@FreeBSD.org">emaste@FreeBSD.org</a>>
</p>
<p>I wrote a small and straightforward yet feature-packed patch
to implement ASLR for FreeBSD which is now available for broader
testing.</p>
<p>With this change, randomization is applied to all non-fixed
mappings. By randomization, I mean that the base address for the
mapping is selected with a guaranteed amount of entropy
(bits). If the mapping was requested to be superpage aligned,
the randomization honors the superpage attributes.</p>
<p>The randomization is done on a best-effort basis. That is,
the allocator falls back to a first fit strategy if
fragmentation prevents entropy injection. It is trivial to
implement a strong mode where failure to guarantee the
requested amount of entropy results in failure of the mapping
request failure, but I do not consider that to be usable.</p>
<p>I have not fine-tuned the amount of entropy injected right
now, but that is only a quantitive change that will not change the
implementation. The current amount is controlled by
<tt>aslr_pages_rnd</tt>.</p>
<p>To not spoil coalescing optimizations, to reduce the page
table fragmentation inherent to ASLR, and to retain
transient superpage promotion for <tt>malloc</tt>ed
memory, locality is implemented for anonymous private
mappings, which are automatically grouped until fragmentation
kicks in. The initial location for the anon group range is,
of course, randomized. After some additional tuning, the
measures appeared to be quite effective. In particular, a
very address-space-hungry build of PyPy 5.0 on i386
successfully finished with the most aggressive functionality
of the patch activated.</p>
<p>The default mode keeps the <tt>sbrk</tt> area unpopulated by
other mappings, but this can be turned off, which gives much
more breathing room on the small address-space architectures
(it is funny that
32 bits is now considered small). This is tied with the question
of following an application's hint about the <tt>mmap(2)</tt>
base address. Testing shows that ignoring the hint does not
affect the function of common applications, but I would expect that
more demanding code could break. By default <tt>sbrk</tt> is
preserved and <tt>mmap</tt> hints are satisfied, which can be
changed by using the <tt>kern.elf{32,64}.aslr_care_sbrk</tt>
sysctls (currently enabled by default for wider testing).</p>
<p>Stack gap, W^X, shared page randomization, KASLR and other
techniques are explicitly out of scope for this work.</p>
<p>The <tt>paxtest</tt> results for the run with the previous
version 5 of the patch applied and aggressively tuned can be
seen at
<a href="https://www.kib.kiev.ua/kib/aslr/paxtest.log" shape="rect"><tt>paxtest.log</tt></a>.
For comparison, a run on Fedora 23 on the same machine is at
<a href="https://www.kib.kiev.ua/kib/aslr/fedora.log" shape="rect"><tt>fedora.log</tt></a>.</p>
<p>ASLR is enabled on a per-ABI basis, and currently is only
enabled on native i386 and amd64 (including compat 32-bit) and
ARMv6 ABIs. I expect to test and enable ASLR for arm64 as
well, later.</p>
<p>A <tt>procctl(2)</tt> control for ASLR is implemented, but
I have not provided a userspace wrapper around the syscall.
In fact, the most reasonable control needed is per-image and
not per-process, but we have no tradition to put the
kernel-read attributes into the extattrs of a binary, so I am
still pondering that part and this also explains the
non-written tool.</p>
<p>Thanks to Oliver Pinter and Shawn Webb of the HardenedBSD
project for pursuing ASLR for FreeBSD. Although this work is
not based on theirs, it was inspired by their efforts.</p>
<p>Thanks to Ed Maste, Robert Watson, John Baldwin, and Alan Cox
for some discussions about the patch, and for The FreeBSD
Foundation for directing me.</p>
<p>Bartek Rutkowski tested PyPy builds on i386, and David Naylor
helped with the port which was at the point of turbulence and
upgrade during the work.</p>
<p>This project was sponsored by The FreeBSD Foundation.</p><hr /><h2><a name="Ceph-on-FreeBSD" href="#Ceph-on-FreeBSD" id="Ceph-on-FreeBSD">Ceph on FreeBSD</a></h2><table title="Links" style="white-space: nowrap;"><tr><td>Links</td></tr><tr><td><a href="http://ceph.com" title="http://ceph.com">Ceph Main Site</a></td><td>
URL: <a href="http://ceph.com" title="Ceph Main Site">http://ceph.com</a></td></tr><tr><td><a href="https://github.com/ceph/ceph" title="https://github.com/ceph/ceph">Main Repository</a></td><td>
URL: <a href="https://github.com/ceph/ceph" title="Main Repository">https://github.com/ceph/ceph</a></td></tr><tr><td><a href="https://github.com/wjwithagen/ceph" title="https://github.com/wjwithagen/ceph">My Fork</a></td><td>
URL: <a href="https://github.com/wjwithagen/ceph" title="My Fork">https://github.com/wjwithagen/ceph</a></td></tr><tr><td><a href="https://github.com/ceph/ceph/pull/7573" title="https://github.com/ceph/ceph/pull/7573">The git pull with All Changes</a></td><td>
URL: <a href="https://github.com/ceph/ceph/pull/7573" title="The git pull with All Changes">https://github.com/ceph/ceph/pull/7573</a></td></tr></table><p>
Contact:
Willem Jan
Withagen
<<a href="mailto:wjw@digiware.nl">wjw@digiware.nl</a>>
</p>
<p>Ceph is a distributed object store and file system designed
to provide excellent performance, reliability and
scalability.</p>
<ul>
<li>
<p>Object Storage</p>
<p>Ceph provides seamless access to objects using native
language bindings or <tt>radosgw</tt>, a REST interface that is
compatible with applications written for S3 and Swift.</p>
</li>
<li>
<p>Block Storage</p>
<p>Ceph's RADOS Block Device (RBD) provides access to block
device images that are striped and replicated across the
entire storage cluster.</p>
</li>
<li>
<p>File System</p>
<p>Ceph provides a POSIX-compliant network file system that
aims for high performance, large data storage, and maximum
compatibility with legacy applications.</p>
</li>
</ul>
<p>I started looking into Ceph, because the HAST solution with
CARP and <tt>ggate</tt> did not really do what I wanted. But
I am aiming for running a Ceph storage cluster of storage
nodes that are running ZFS. The end station would be running
<tt>bhyve</tt> on RBD disk that are stored in Ceph.</p>
<p>The FreeBSD build will build most of the tools in Ceph. Note
that the RBD-dependent items will not work since FreeBSD does
not have RBD yet.</p>
<p>Compiling and building Ceph is tested on 11-CURRENT. It uses
the Clang toolset that is available, which needs to be at
least 3.7. Clang 3.4 (on 10.2-STABLE) does not have all the
required capabilities to compile everything.</p>
<p>This setup will get things running for FreeBSD:</p>
<ul>
<li>
<p>Install <tt>bash</tt> and link it in <tt>/bin</tt> (requires root
privileges):</p>
<p><tt>sudo pkg install bash</tt></p>
<p><tt>sudo ln -s /usr/local/bin/bash /bin/bash</tt></p>
</li>
<li>
<p>Building Ceph</p>
<p><tt>git clone https://github.com/wjwithagen/ceph.git</tt></p>
<p><tt>cd ceph</tt></p>
<p><tt>git checkout wip-wjw-freebsd-tests</tt></p>
<p><tt>./do_freebsd.sh</tt></p>
</li>
</ul>
<p>Parts Not Yet Included:</p>
<ul>
<li>
<p>RBD</p>
<p>Rados Block Devices is implemented in the Linux kernel.
It seems that there used to be a userspace implementation
first. And perhaps <tt>ggated</tt> could be used as a
template since it does some of the same functions, other
than just between two disks. And it has a userspace
counterpart.</p>
</li>
<li>
<p>BlueStore</p>
<p>FreeBSD and Linux have a different AIO API, and that
needs to be made compatible. Next to that is the
discussion in FreeBSD about <tt>aio_cancel</tt> not
working for all device types.</p>
</li>
<li>
<p>CephFS</p>
<p>Cython tries to access an internal field in dirent which
does not compile.</p>
</li>
</ul>
<p>Tests that verify the correct working of the above are also
excluded from the test set.</p>
<p>Tests Not Yet Included:</p>
<ul>
<li>
<p><tt>ceph-detect-init/run-tox.sh</tt></p>
<p>Because the current implementation does not know anything
about FreeBSD's rc/init.</p>
</li>
<li>
<p>Tests that make use of <tt>nosestests</tt></p>
<p>Calling these does not really work since
<tt>nosetests</tt> is not in <tt>/usr/bin</tt>, and
calling through <tt>/usr/bin/env nosetests</tt> does not
work on FreeBSD.</p>
</li>
<li>
<p><tt>test/pybind/test_ceph_argparse.py</tt></p>
</li>
<li>
<p><tt>test/pybind/test_ceph_daemon.py</tt></p>
</li>
</ul>
<p>Things To Investigate:</p>
<ul>
<li>
<p><tt>ceph-{osd,mon}</tt> need two signals before they
actually terminate.</p>
</li>
<li>
<p><tt>ceph_erasure_code --debug-osd 20 --plugin_exists jerasure</tt>
crashes due to SIGSEGV. This is a pointer reference that
gets modified outside the regular programflow. Probably
due to a programming error but perhaps wrong mixing and
matching of many libraries.</p>
</li>
</ul>
<h3>Open tasks:</h3><ol><li>
<p>The current and foremost task is to get the test set to
complete without errors. This includes fixing several
coredumps.</p>
<p>Run integration tests to see if the FreeBSD daemons will
work with a Linux Ceph platform.</p>
</li><li>
<p>Get the Python tests that are currently excluded to work,
and test OKE.</p>
</li><li>
<p>Compile and test the user space RBD (Rados Block
Device).</p>
<p>Investigate and see if an in-kernel RBD device could be
developed akin to <tt>ggate</tt>.</p>
</li><li>
<p>Integrate the FreeBSD <tt>/etc/rc.d</tt> init scripts in
the Ceph stack for testing and running Ceph on production
machines.</p>
</li></ol><hr /><h2><a name="Process-Shared-Locks-for-libthr" href="#Process-Shared-Locks-for-libthr" id="Process-Shared-Locks-for-libthr">Process-Shared Locks for libthr</a></h2><p>
Contact:
Konstantin
Belousov
<<a href="mailto:kib@FreeBSD.org">kib@FreeBSD.org</a>>
</p>
<p>POSIX specifies several kinds of <tt>pthread</tt> locks. For
this report, the private and process-shared variants are
considered. Private locks can be used only by the threads of
the same process, which share a single common address space.
Process-shared locks can be used by threads from any process,
assuming the process can map the lock memory into its address
space.</p>
<p>Our <tt>libthr</tt>, the library implementing the POSIX
threads and locking operations, uses a pointer as the internal
representation behind a lock. The pointer contains the
address of the actual structure carrying the lock. This has
unfortunate consequences for implementing the
<tt>PTHREAD_PROCESS_SHARED</tt> attribute for locks, since
really only the pointer is shared when a lock is mapped into
distinct address spaces.</p>
<p>A common opinion was that we have no choice but to break the
<tt>libthr</tt> Application Binary Interface (ABI) by changing
the lock types to be the actual lock structures (and padding
for future ABI extension). This is very painful for users, as
our previous experience with non-versioned <tt>libc</tt> and
<tt>libc_r</tt> has shown.</p>
<p>Instead, I proposed and implemented a scheme where
process-shared locks can be implemented without breaking the
ABI. The lock memory is used as a key into a system-global
hash of shared memory objects (off-pages), which contain the
actual lock structures.</p>
<p>New <tt>umtx</tt> operations to create or look up a shared
object by memory key were added. <tt>libthr</tt> is
modified to look up the object and use it for shared locks,
instead of using <tt>malloc()</tt> as for private locks.</p>
<p>The pointer value in the user-visible lock type contains a
canary for shared locks. <tt>libthr</tt> detects the canary
and switches into the shared-lock mode.</p>
<p>The proposal of inlining the lock structures, besides the
drawbacks of breaking ABI, has its merits. Most important,
the inlining avoids the need for indirection. Another
important advantage over the off-page approach is that no
off-page object needs to be maintained, and the lifecycle of
the shared lock naturally finishes with the destruction of the
shared memory, without need for explicit cleanup. Right now, off-pages
hook into vm object termination to avoid leakage, but
long-livedness of the vnode vm object prolongs the off-page's
existence for shared locks backed by files, however unlikely
they may be.</p>
<p><tt>libthr</tt> with inlined locks became informally known as
the <tt>libthr2</tt> project, since it is better to change the
library name than just bumping the library version.
<tt>rtld</tt> should ensure that <tt>libthr</tt> and
<tt>libthr2</tt> are not simultaneously loaded into a single
address space.</p>
<p>This project was sponsored by The FreeBSD Foundation.</p><h3>Open tasks:</h3><ol><li>
<p>Implement robust mutexes.</p>
</li><li>
<p>Evaluate and implement <tt>libthr2</tt>.</p>
</li></ol><hr /><h2><a name="RCTL-Disk-IO-Limits" href="#RCTL-Disk-IO-Limits" id="RCTL-Disk-IO-Limits">RCTL Disk IO Limits</a></h2><p>
Contact:
Edward Tomasz
Napierała
<<a href="mailto:trasz@FreeBSD.org">trasz@FreeBSD.org</a>>
</p>
<p>An important missing piece of the RCTL resource limits
framework was the ability to limit file system throughput.
This project aims to fill that hole by making it possible to
add RCTL rules for read bytes per second (BPS), write BPS,
read I/O operations per second (IOPS), and write IOPS, and
adding a new throttling mechanism to slow down offending
processes when a limit gets hit.</p>
<p>The code has been committed and will ship with FreeBSD
11.0-RELEASE.</p>
<p>This project was sponsored by The FreeBSD Foundation.</p><h3>Open tasks:</h3><ol><li>
<p>Additional testing</p>
</li><li>
<p>Simplify locking, getting rid of <tt>rctl_lock</tt> altogether</p>
</li><li>
<p>Improve statistics gathering by making it possible for
<tt>rctl -u</tt> to retrieve usage counters at a fixed point
in time</p>
</li><li>
<p>Use the new throttling mechanism for %CPU limits</p>
</li></ol><hr /><h2><a name="The-Graphics-Stack-on-FreeBSD" href="#The-Graphics-Stack-on-FreeBSD" id="The-Graphics-Stack-on-FreeBSD">The Graphics Stack on FreeBSD</a></h2><table title="Links" style="white-space: nowrap;"><tr><td>Links</td></tr><tr><td><a href="https://wiki.freebsd.org/Graphics" title="https://wiki.freebsd.org/Graphics">Graphics Stack Roadmap and Supported Hardware Matrix</a></td><td>
URL: <a href="https://wiki.freebsd.org/Graphics" title="Graphics Stack Roadmap and Supported Hardware Matrix">https://wiki.freebsd.org/Graphics</a></td></tr><tr><td><a href="https://github.com/freebsd/freebsd-ports-graphics" title="https://github.com/freebsd/freebsd-ports-graphics">Ports Development Tree on GitHub</a></td><td>
URL: <a href="https://github.com/freebsd/freebsd-ports-graphics" title="Ports Development Tree on GitHub">https://github.com/freebsd/freebsd-ports-graphics</a></td></tr><tr><td><a href="https://fosdem.org/2016/schedule/event/freebsd_graphic_stack/" title="https://fosdem.org/2016/schedule/event/freebsd_graphic_stack/">FreeBSD Graphics Team at FOSDEM 2016</a></td><td>
URL: <a href="https://fosdem.org/2016/schedule/event/freebsd_graphic_stack/" title="FreeBSD Graphics Team at FOSDEM 2016">https://fosdem.org/2016/schedule/event/freebsd_graphic_stack/</a></td></tr><tr><td><a href="https://wiki.freebsd.org/SummerOfCodeIdeas#Devices_management:_link_.2Fdev_entries_to_sysctl_nodes" title="https://wiki.freebsd.org/SummerOfCodeIdeas#Devices_management:_link_.2Fdev_entries_to_sysctl_nodes">GSoC 2016: link /dev Entries to sysctl Nodes</a></td><td>
URL: <a href="https://wiki.freebsd.org/SummerOfCodeIdeas#Devices_management:_link_.2Fdev_entries_to_sysctl_nodes" title="GSoC 2016: link /dev Entries to sysctl Nodes">https://wiki.freebsd.org/SummerOfCodeIdeas#Devices_management:_link_.2Fdev_entries_to_sysctl_nodes</a></td></tr><tr><td><a href="https://wiki.freebsd.org/SummerOfCodeIdeas#Devices_management:_redesign_and_rewrite_libdevq" title="https://wiki.freebsd.org/SummerOfCodeIdeas#Devices_management:_redesign_and_rewrite_libdevq">GSoC 2016: Redesign libdevq</a></td><td>
URL: <a href="https://wiki.freebsd.org/SummerOfCodeIdeas#Devices_management:_redesign_and_rewrite_libdevq" title="GSoC 2016: Redesign libdevq">https://wiki.freebsd.org/SummerOfCodeIdeas#Devices_management:_redesign_and_rewrite_libdevq</a></td></tr><tr><td><a href="http://planet.freebsd.org/graphics/" title="http://planet.freebsd.org/graphics/">Graphics Team Blog</a></td><td>
URL: <a href="http://planet.freebsd.org/graphics/" title="Graphics Team Blog">http://planet.freebsd.org/graphics/</a></td></tr></table><p>
Contact:
FreeBSD Graphics team
<<a href="mailto:freebsd-x11@FreeBSD.org">freebsd-x11@FreeBSD.org</a>>
</p>
<p>The major news for this quarter is the update of the i915
driver in the kernel! The driver now matches Linux 3.8.13, so
it includes initial Haswell support. Linux 3.8 is already
three years old, but work continues to upgrade DRM further.
In particular, work commenced to move to using the
<tt>linuxkpi</tt> compatibility.</p>
<p>In the Ports tree, Mesa was updated to 11.1.2. The next minor
release, 11.2.0, is ready for testing in our development tree.
We also updated libclc to 0.2.0.20151006, a library used by
Mesa to provide OpenCL support. Upstream patches were added
to beignet so all these ports now use the same LLVM
version.</p>
<p>We attended FOSDEM 2016 in Brussels. Jean-Sébastien Pédron
gave a talk to explain the work of the graphics team and show
how people can contribute. It was well received and the
presentation was followed by interesting discussions. FOSDEM
was also a nice occasion to meet and talk again to the nice
upstream developers of the graphics stack.</p>
<p>For the first year, we added two ideas for GSoC 2016: one for
a kernel task, one to redesign <tt>libdevq</tt>. Six students
submitted proposals for those ideas; that was unexpected!
We now need to decide which one we want to mentor and the
choice is difficult.</p>
<p>Our blog has moved to a
<a href="http://planet.freebsd.org/graphics/" shape="rect">new location</a>
(linked above).</p>
<h3>Open tasks:</h3><ol><li>
<p>See the "Graphics" wiki page for up-to-date
information.</p>
</li></ol><hr /><br /><h1><a name="Kernel" href="#Kernel" id="Kernel">Kernel</a></h1><br /><h2><a name="ARM-Allwinner-SoC-Support" href="#ARM-Allwinner-SoC-Support" id="ARM-Allwinner-SoC-Support">ARM Allwinner SoC Support</a></h2><table title="Links" style="white-space: nowrap;"><tr><td>Links</td></tr><tr><td><a href="https://wiki.freebsd.org/FreeBSD/arm/Allwinner" title="https://wiki.freebsd.org/FreeBSD/arm/Allwinner">Allwinner FreeBSD Wiki</a></td><td>
URL: <a href="https://wiki.freebsd.org/FreeBSD/arm/Allwinner" title="Allwinner FreeBSD Wiki">https://wiki.freebsd.org/FreeBSD/arm/Allwinner</a></td></tr></table><p>
Contact:
Jared
McNeill
<<a href="mailto:jmcneill@FreeBSD.org">jmcneill@FreeBSD.org</a>>
<br />
Contact:
Emmanuel
Vadot
<<a href="mailto:manu@bidouilliste.com">manu@bidouilliste.com</a>>
</p>
<p>Allwinner SoCs are used in multiple hobbyist devboards and
single-board computers. Recently, support for these SoCs has
received a lot of updates</p>
<p>Task done during first quarter:</p>
<ul>
<li>I2C</li>
<li>HDMI output</li>
<li>Basic AXP209 support (Power Management Unit)</li>
<li>Switch to upstream DTS for most boards</li>
<li>Basic Support for A31/A31S SoC</li>
<li>RTC</li>
<li>Proper Pinmux/GPIO support</li>
<li>Audio Codec / Audio HDMI</li>
<li>A10/A20 DMA support</li>
<li>A20 now uses the GIC (General Interrupt Controller)</li>
<li>A20 now uses the ARM Generic Timer</li>
</ul>
<p>Ongoing tasks:</p>
<ul>
<li>Switch to a new clock framework
<a href="https://reviews.freebsd.org/D5752" shape="rect">(In review)</a></li>
<li>Convert the A10 interrupt controller to INTRNG
<a href="https://reviews.freebsd.org/D5573" shape="rect">(In review)</a></li>
<li>OHCI support
<a href="https://reviews.freebsd.org/D5481" shape="rect">(In review)</a></li>
<li>Generic ALLWINNER kernel config file
<a href="https://reviews.freebsd.org/D5580" shape="rect">(In review)</a></li>
<li>A20/A31 NMI support
<a href="https://reviews.freebsd.org/D5663" shape="rect">(In review)</a></li>
<li>USB OTG</li>
<li>Finish the switch to using upstream DTS files</li>
<li>A83T SoC Support</li>
<li>H3 SoC Support</li>
</ul>
<h3>Open tasks:</h3><ol><li>
<p>SPI driver</p>
</li><li>
<p>LCD Support</p>
</li><li>
<p>Any unsupported hardware device that might be of
interest.</p>
</li></ol><hr /><h2><a name="CAM-I/O-Scheduler" href="#CAM-I/O-Scheduler" id="CAM-I/O-Scheduler">CAM I/O Scheduler</a></h2><table title="Links" style="white-space: nowrap;"><tr><td>Links</td></tr><tr><td><a href="https://people.freebsd.org/~imp/bsdcan2015/iosched-v3.pdf" title="https://people.freebsd.org/~imp/bsdcan2015/iosched-v3.pdf">I/O Scheduling in FreeBSD's CAM Subsystem (PDF)</a></td><td>
URL: <a href="https://people.freebsd.org/~imp/bsdcan2015/iosched-v3.pdf" title="I/O Scheduling in FreeBSD's CAM Subsystem (PDF)">https://people.freebsd.org/~imp/bsdcan2015/iosched-v3.pdf</a></td></tr><tr><td><a href="https://www.youtube.com/watch?v=3WqOLolj5EU" title="https://www.youtube.com/watch?v=3WqOLolj5EU">The BSDCan 2015 Talk</a></td><td>
URL: <a href="https://www.youtube.com/watch?v=3WqOLolj5EU" title="The BSDCan 2015 Talk">https://www.youtube.com/watch?v=3WqOLolj5EU</a></td></tr></table><p>
Contact:
Warner
Losh
<<a href="mailto:wlosh@netflix.com">wlosh@netflix.com</a>>
</p>
<p>An enhanced CAM I/O scheduler has been committed to the tree.
By default, this scheduler implements the old behavior.
In addition, an advanced adaptive scheduler is available.
Along with the scheduler, SATA disks can now use Queued Trims
with devices that support them. Details about the new
scheduler are available in the
<a href="https://people.freebsd.org/~imp/bsdcan2015/iosched-v3.pdf" shape="rect">I/O Scheduling in FreeBSD's CAM Subsystem article (PDF)</a>
or from
<a href="https://www.youtube.com/watch?v=3WqOLolj5EU" shape="rect">the BSDCan 2015 talk</a>.</p>
<p>The adaptive I/O scheduler is disabled by default, but can be
enabled with <tt>options CAM_ADAPTIVE_IOSCHED</tt> in the kernel config
file. This scheduler allows favoring reads over writes (or
vice versa), controlling the IOPs, bandwidth, or concurrent
operations (read, write, trim), and permits the selection of
static or dynamic control of these operations. In addition, a
number of statistics are collected for drive operations that
are published via sysctl. One advanced use for the adaptive
I/O scheduler is to compensate for deficiencies in some
consumer-grade SSDs. These SSDs exhibit a performance cliff
if too much data is written to them too quickly due to
internal garbage collection. Without the I/O scheduler, read
and write performance drop substantially once garbage
collection kicks in. The adaptive I/O scheduler can be
configured to monitor read latency. As read latency climbs,
the I/O scheduler reduces the allowed write throughput, within
limits, to attempt to maximize read performance. A simple use
of the adaptive I/O scheduler would be to limit write
bandwidth, IOPs or concurrent operations statically.</p>
<p>Future work on the I/O scheduler will be coupled with
improvements to the upper layers. The upper layers will be
enhanced to communicate how urgent I/O requests are. The I/O
scheduler will inform the upper layers of how full the I/O
queues are, so less urgent I/O can be submitted to the lower
layers as quickly as possible without overwhelming the lower
layers or starving other devices of requests.</p>
<p>This project was sponsored by Netflix.</p><hr /><h2><a name="FDT-Overlay-Support-in-UBLDR" href="#FDT-Overlay-Support-in-UBLDR" id="FDT-Overlay-Support-in-UBLDR">FDT Overlay Support in UBLDR</a></h2><table title="Links" style="white-space: nowrap;"><tr><td>Links</td></tr><tr><td><a href="https://reviews.freebsd.org/D3180" title="https://reviews.freebsd.org/D3180">ubldr Patch</a></td><td>
URL: <a href="https://reviews.freebsd.org/D3180" title="ubldr Patch">https://reviews.freebsd.org/D3180</a></td></tr></table><p>
Contact:
Oleksandr
Tymoshenko
<<a href="mailto:gonzo@FreeBSD.org">gonzo@FreeBSD.org</a>>
</p>
<p>A flattened device tree is a way to keep the hardware
description separated from code. During the boot process, the
loader passes a pointer to the device-tree blob to the kernel
and the kernel instantiates and attaches drivers according to
the information in the blob.</p>
<p>This approach does not work when the hardware is expandable. For
example, the Raspberry Pi and Beaglebone Black have the
concept of capes or shields: snap-on PCBs that are connected
to IO headers on the main board and provide additional
functionality like an LCD screen or GPS receiver. These
shields can be described by their own device trees and these
trees can be overlaid on the base tree by the boot loader,
thus providing an accurate description to the kernel.</p>
<p>The proposed patch adds this functionality to <tt>ubldr</tt>. The user
can specify a comma-separated list of overlays to U-Boot or
the loader <tt>fdt_overlays</tt> variable and <tt>ubldr</tt> will load
them from the <tt>/boot/dtb/</tt> directory and do the
overlaying.</p>
<hr /><h2><a name="Filemon-Performance/Stability-Improvements" href="#Filemon-Performance/Stability-Improvements" id="Filemon-Performance/Stability-Improvements">Filemon Performance/Stability Improvements</a></h2><p>
Contact:
Bryan
Drewery
<<a href="mailto:bdrewery@FreeBSD.org">bdrewery@FreeBSD.org</a>>
<br />
Contact:
Mateusz
Guzik
<<a href="mailto:mjg@FreeBSD.org">mjg@FreeBSD.org</a>>
</p>
<p>Filemon is a kernel module for tracing which files a command
creates, reads, writes, or executes. It allows tracking build
dependencies in combination with <tt>bmake</tt>'s meta mode.
<tt>bmake</tt> stores filemon's output in a <tt>.meta</tt>
file along with the build command and later uses this to
trigger a rebuild of the target if any of the files referenced
are missing or modified, or if the build command changes. It
provides the same functionality as the compiler's <tt>-MF</tt> flag,
but for everything. It will be critical for buildworld's
<tt>WITH_META_MODE</tt> (which is the normal buildworld but
only using filemon) to provide a reliable incremental build
without even the need for <tt>.depend</tt> files or compiler
<tt>-MF</tt> flags. This allows <tt>-DNO_CLEAN</tt> to work
all of the time.</p>
<p>Filemon on -HEAD was improved for stability and performance
over this quarter. It no longer causes every syscall it hooks
into to loop over processes looking for a matching filemon
struct. It now just attaches directly to the struct proc with
its own pointer. This improves performance by reducing lock
contention during a build. Much other work went into
improving error handling and other stability issues in the
module as well.</p>
<p>All of this work was done by Bryan Drewery, sponsored by EMC,
but much help and identification of bugs was provided by
Mateusz Guzik.</p>
<p>This project was sponsored by EMC / Isilon Storage Division.</p><h3>Open tasks:</h3><ol><li>
<p>Improve credential handling.</p>
</li><li>
<p>Improve EVENTHANDLER performance.</p>
</li><li>
<p>Possibly provide a framework for syscallenter/syscallret
hooking to avoid the need to hook syscalls as Filemon
does.</p>
</li></ol><hr /><h2><a name="FreeBSD-Integration-Services-(BIS)" href="#FreeBSD-Integration-Services-(BIS)" id="FreeBSD-Integration-Services-(BIS)">FreeBSD Integration Services (BIS)</a></h2><table title="Links" style="white-space: nowrap;"><tr><td>Links</td></tr><tr><td><a href="https://wiki.FreeBSD.org/HyperV" title="https://wiki.FreeBSD.org/HyperV">FreeBSD Virtual Machines on Microsoft Hyper-V</a></td><td>
URL: <a href="https://wiki.FreeBSD.org/HyperV" title="FreeBSD Virtual Machines on Microsoft Hyper-V">https://wiki.FreeBSD.org/HyperV</a></td></tr><tr><td><a href="https://technet.microsoft.com/en-us/library/dn531030.aspx" title="https://technet.microsoft.com/en-us/library/dn531030.aspx">Supported Linux and FreeBSD Virtual Machines for Hyper-V on Windows</a></td><td>
URL: <a href="https://technet.microsoft.com/en-us/library/dn531030.aspx" title="Supported Linux and FreeBSD Virtual Machines for Hyper-V on Windows">https://technet.microsoft.com/en-us/library/dn531030.aspx</a></td></tr></table><p>
Contact:
Sepherosa
Ziehau
<<a href="mailto:sepherosa@gmail.com">sepherosa@gmail.com</a>>
<br />
Contact:
Howard
Su
<<a href="mailto:howard0su@gmail.com">howard0su@gmail.com</a>>
<br />
Contact:
Hongjiang
Zhang
<<a href="mailto:honzhan@microsoft.com">honzhan@microsoft.com</a>>
<br />
Contact:
Dexuan
Cui
<<a href="mailto:decui@microsoft.com">decui@microsoft.com</a>>
</p>
<p>When FreeBSD virtual machines (VMs) run on Hyper-V, using
Hyper-V synthetic devices is recommended to get the best
network and storage performance and make full use of all the
benefits that Hyper-V provides. The collection of drivers
that are required to use Hyper-V synthetic devices in FreeBSD
are known as FreeBSD Integration Services (BIS). Some of the
BIS drivers (like network and storage drivers) have existed in
FreeBSD 9.x and 10.x for years, but there are still some
performance and stability issues and bugs. Compared with
Windows and Linux VMs, the current BIS lacks some useful
features, e.g., live virtual machine backup, TRIM/Unmap, the
support for UEFI VMs (boot from UEFI), etc.</p>
<p>During the past quarter, we made a great progress on the
performance tuning for Hyper-V network driver. We also
refactored and cleaned up the VMBus driver, and fixed some
important bugs. All the work makes FreeBSD VMs run even
better on Hyper-V and the Hyper-V based cloud platform
Azure!</p>
<p>Our work during 2016Q1 is documented below:</p>
<p>Optimizing the performance of Hyper-V network driver:</p>
<ul>
<li>We added LRO (Large Receive Offloading) support to the
driver and properly handle ACK packets. This
effectively reduces the CPU cycles used in the TCP/IP stack
and dramatically boosts network performance!</li>
<li>We enabled vRSS (virtual Receive Side Scaling) support
for the driver. This greatly improved the network
performance for SMP virtual machines.</li>
<li>We used a separate Tx kernel thread to relieve the Rx
thread of transmitting packets (the Rx thread tried to
transmit packets after receiving ACKs), so the Rx thread can
receive packets and send ACKs faster.</li>
<li>Now we can reach a VM-to-VM throughput of 9.1Gbps on a
host with a 10Gbps physical NIC, and over 20Gbps on a host
with a 40Gbps NIC, all the while with plenty of CPU cycles
left for applications.</li>
<li>We also enabled IP header checksum offloading, and Rx
checksum offloading for UDP.</li>
<li>Further performance tuning is working in progress.</li>
</ul>
<p>Refactoring and cleaning up the VMBus driver code:</p>
<ul>
<li>Instead of using <tt>swi</tt> threads directly, we now use per-CPU
<tt>taskqueue_create_fast()</tt> threads for event and message
handling, making the code more conventional for FreeBSD.</li>
<li>We did a lot of cleanup to the <tt>hv_utils</tt> code (HeartBeat,
TimeSync and Shutdown) and we are further cleaning up the
KVP code.</li>
<li>We used a new message/interrupt slot for the Hyper-V timer, so
the handling of timer and non-timer messages can be
distinguished, fixing a potential issue.</li>
<li>Instead of finding an available IDT vector by hacking,
we are changing to use the normal method,
<tt>lapic_ipi_alloc()</tt>.</li>
<li>We are modularizing the Hyper-V modules:
<ol>
<li>they will be loaded in the loader;</li>
<li>we are going to enhance <tt>devd(8)</tt> to improve
the hot plug case.</li>
</ol>
</li>
</ul>
<p>Bug Fixing:</p>
<ul>
<li>Fixed the "spurious multiple disks" issue (PR
206630 — FreeBSD 10.2 on Windows 10 and 2016 server may not
boot due to multiple invalid disks) in the Hyper-V storage
driver and now FreeBSD VMs can reliably boot on Win10 and 2016
hosts.</li>
<li>Fixed the OACTIVE issue (PR 207297 — [Hyper-V] FreeBSD
10.2 on hyperv lost network under heavy load for
OACTIVE).</li>
<li>Fixed a TSC calibration issue (PR 208238 — [Hyper-V] TSC
frequency is not correctly detected: "calcru: runtime went
backwards") and we will not see the "runtime went
backwards" messages any more!</li>
<li>Fixed the "very slow terminal" issue of 11-CURRENT by
enabling text mode when we are running on hypervisors.</li>
<li>Fixed the "unknown dhcp option value 0xf5" issue in
<tt>dhclient(8)</tt> by asking <tt>dhclient(8)</tt> to
ignore the option, and FreeBSD VMs on Azure can now reliably get
IP addresses.</li>
<li>Found a workaround for PR 20824 ([Hyper-V] VM network may not
work over virtual switch based on wireless NIC): add
"net.link.ether.inet.max_age=60" in
/etc/sysctl.conf.</li>
</ul>
<p>We plan to add support for live virtual machine backup,
TRIM/Unmap, and UEFI VMs (Hyper-V Generation-2 VMs).</p>
<p>We published errata (FreeBSD-EN-16:04.hyperv,
FreeBSD-EN-16:05.hv_netvsc) with the Release Engineering team,
so 10.1 and 10.2 users can easily get the fixes for KVP and TCP
checksums by upgrading the system.</p>
<p>We published BIS test cases for Hyper-V on github:
<a href="https://github.com/FreeBSDonHyper-V/Test-BIS" shape="rect">https://github.com/FreeBSDonHyper-V/Test-BIS</a>
and we are going to publish the test cases for Azure soon.</p>
<p>This project was sponsored by Microsoft.</p><hr /><h2><a name="Infiniband" href="#Infiniband" id="Infiniband">Infiniband</a></h2><table title="Links" style="white-space: nowrap;"><tr><td>Links</td></tr><tr><td><a href="https://lists.freebsd.org/pipermail/freebsd-infiniband/2016-March/000190.html" title="https://lists.freebsd.org/pipermail/freebsd-infiniband/2016-March/000190.html">Call for Testing</a></td><td>
URL: <a href="https://lists.freebsd.org/pipermail/freebsd-infiniband/2016-March/000190.html" title="Call for Testing">https://lists.freebsd.org/pipermail/freebsd-infiniband/2016-March/000190.html</a></td></tr></table><p>
Contact:
Hans Petter
Selasky
<<a href="mailto:hselasky@FreeBSD.org">hselasky@FreeBSD.org</a>>
</p>
<p>Mellanox is working on a big infiniband update towards
Mellanox OFED v3.2 of the infiniband stack in FreeBSD. The
updates include both userland and kernel components.
Infiniband patches for FreeBSD are available in the link above
which can be downloaded and applied to a recent FreeBSD-head
checkout.</p>
<p>This project was sponsored by Mellanox Technologies.</p><hr /><h2><a name="MMC-Stack-Under-CAM-Framework" href="#MMC-Stack-Under-CAM-Framework" id="MMC-Stack-Under-CAM-Framework">MMC Stack Under CAM Framework</a></h2><table title="Links" style="white-space: nowrap;"><tr><td>Links</td></tr><tr><td><a href="https://bakulin.de/freebsd/mmccam.html" title="https://bakulin.de/freebsd/mmccam.html">Project Information</a></td><td>
URL: <a href="https://bakulin.de/freebsd/mmccam.html" title="Project Information">https://bakulin.de/freebsd/mmccam.html</a></td></tr><tr><td><a href="https://github.com/kibab/FreeBSD/tree/mmccam" title="https://github.com/kibab/FreeBSD/tree/mmccam">Source Code</a></td><td>
URL: <a href="https://github.com/kibab/FreeBSD/tree/mmccam" title="Source Code">https://github.com/kibab/FreeBSD/tree/mmccam</a></td></tr><tr><td><a href="https://reviews.FreeBSD.org/D4761" title="https://reviews.FreeBSD.org/D4761">Patch for Review</a></td><td>
URL: <a href="https://reviews.FreeBSD.org/D4761" title="Patch for Review">https://reviews.FreeBSD.org/D4761</a></td></tr></table><p>
Contact:
Ilya
Bakulin
<<a href="mailto:ilya@bakulin.de">ilya@bakulin.de</a>>
</p>
<p>The goal of this project is to reimplement the existing
MMC/SD stack using the CAM framework. This will permit
utilizing the well-tested CAM locking model and debugging
features. It will also be possible to process interrupts
generated by the inserted card, which is a prerequisite for
implementing the SDIO interface. SDIO support is necessary
for communicating with the WiFi/BT modules found on many
development boards, like Wan Raspberry Pi 3.</p>
<p>Another feature that the new stack will have is support for
sending SD commands from userland applications using
<tt>cam(3)</tt>. This will allow for building device drivers in
userland and make debugging much easier.</p>
<p>The first version of the code was uploaded to Phabricator for
review. The new stack is able to attach to the SD card and
bring it to an operational state so it is possible to read and
write to the card.</p>
<p>Support for the <tt>imx_sdhci</tt> SD Host Controller (used
on iMX-based boards, for example Wandboard) was added in
2016Q1, along with <tt>ti_sdhci</tt>, which is used on the
BeagleBone Black. Modifying other SDHCI-compliant drivers
should not be difficult.</p>
<h3>Open tasks:</h3><ol><li>
<p>Modify the SDHCI driver on at least one x86 platform. This
will make development and collaboration easier.</p>
</li><li>
<p>Begin implementing SDIO-specific bits.</p>
</li></ol><hr /><h2><a name="NFS-Server" href="#NFS-Server" id="NFS-Server">NFS Server</a></h2><p>
Contact:
Rick
Macklem
<<a href="mailto:rmacklem@FreeBSD.org">rmacklem@FreeBSD.org</a>>
</p>
<p>A new <tt>-manage-gids</tt> option was added to the
<tt>nfsuserd</tt> daemon. This option tells the NFS server to
use the list of groups for a uid on the server and not the
list of groups in the NFS RPC request. Use of this option
avoids the 16 group limit for NFS RPCs using AUTH_SYS (the
default).</p>
<p>Work is ongoing with respect to development of pNFS support
for the NFS server using GlusterFS as a back end. This will
be a long-term project with the eventual goal of allowing the
NFS server to scale beyond a single server system. Hopefully
it will be available for testing in late Spring 2016. pNFS
allows an NFSv4.1 client to do reads/writes directly to a data
server and not the NFS server.</p>
<h3>Open tasks:</h3><ol><li>
<p>The pNFS server will be in need of testing during
development or it will never progress to a near-production
status. I hope to have code available in FreeBSD's Subversion
project branch for testing in late spring 2016.</p>
</li></ol><hr /><h2><img src="./images/32/kern.png" style="display: inline" /><a name="Static-Analysis-of-the-FreeBSD-Kernel-with-PVS-Studio" href="#Static-Analysis-of-the-FreeBSD-Kernel-with-PVS-Studio" id="Static-Analysis-of-the-FreeBSD-Kernel-with-PVS-Studio">Static Analysis of the FreeBSD Kernel with PVS Studio</a></h2><table title="Links" style="white-space: nowrap;"><tr><td>Links</td></tr><tr><td><a href="http://www.viva64.com/en/b/0377/" title="http://www.viva64.com/en/b/0377/">PVS-Studio Delved into the FreeBSD Kernel</a></td><td>
URL: <a href="http://www.viva64.com/en/b/0377/" title="PVS-Studio Delved into the FreeBSD Kernel">http://www.viva64.com/en/b/0377/</a></td></tr><tr><td><a href="https://reviews.freebsd.org/D5245" title="https://reviews.freebsd.org/D5245">PVS Static Analysis Phabricator Review</a></td><td>
URL: <a href="https://reviews.freebsd.org/D5245" title="PVS Static Analysis Phabricator Review">https://reviews.freebsd.org/D5245</a></td></tr></table><p>
Contact:
Warren
Block
<<a href="mailto:wblock@FreeBSD.org">wblock@FreeBSD.org</a>>
</p>
<p>In February, Program Verification Systems used their
PVS-Studio tool to run a static analysis of the FreeBSD kernel.
A Phabricator review was created to allow developers to share
comments on the results. A number of bugs ranging from
trivial typos to redundant code to important logic errors were
found and fixed. Some results were false positives. Several
of these were addressed by changing code that misled the
static analyzer and could also mislead a human reader.</p>
<p>The cooperation that Program Verification Systems offers to
open-source projects like FreeBSD benefits everyone. We thank
them for sharing this analysis and their insights with us.</p>
<hr /><br /><h1><a name="Architectures" href="#Architectures" id="Architectures">Architectures</a></h1><br /><h2><a name="AmigaOne-X5000-Support" href="#AmigaOne-X5000-Support" id="AmigaOne-X5000-Support">AmigaOne X5000 Support</a></h2><table title="Links" style="white-space: nowrap;"><tr><td>Links</td></tr><tr><td><a href="http://www.amigaos.net/hardware/133/amigaone-x5000" title="http://www.amigaos.net/hardware/133/amigaone-x5000"></a></td><td>
URL: <a href="http://www.amigaos.net/hardware/133/amigaone-x5000" title="">http://www.amigaos.net/hardware/133/amigaone-x5000</a></td></tr></table><p>
Contact:
Justin
Hibbits
<<a href="mailto:jhibbits@FreeBSD.org">jhibbits@FreeBSD.org</a>>
</p>
<p>This project is a continuation of the Book-E QorIQ support
enhancements by Semihalf dating back to 2012.</p>
<p>The AmigaOne X5000 series of AmigaOS-compatible systems uses
the Freescale QorIQ series of SoCs for a desktop-class form
factor. The work here entails adding support for the e5500
core itself, in addition to support for the SoC
peripherals.</p>
<p>Currently, most of the code to enable basic support is checked
in: dTSEC (ethernet), core support (e500mc, e5500). As part of
this, <tt>rman</tt>, the kernel resource manager, was enhanced
to use <tt>uintmax_t</tt> for resources. This allows devices to
be physically above the 4GB boundary on 32-bit systems. With a
statically compiled device tree, it boots to multiuser mode with
nfsroot, and can be used as normal (serial and SSH logins once
configured).</p> <p>This project was sponsored by Alex Perez (Inertial Computing).</p><h3>Open tasks:</h3><ol><li>
<p>eSDHC driver: Work has been started on this, hijacking the
<tt>imx_sdhc.c</tt> from Ian Lepore, but there are still
bugs: missing DMA from the iMX driver, and odd timeouts
after the system starts up.</p>
</li><li>
<p>SATA support: There is a WIP driver for the SATA
controller, but it is currently very slow, about 11MB/s on a
SATA 2 link. It currently relies on a 10ms delay on every
SATA transaction for it to be even somewhat
stable. Without this delay, the disk scan never works and I
have not yet figured out why.</p>
</li><li>
<p>Local console (VGA) support: It currently boots with a
serial console. <tt>vgapci0</tt> is seen if there is a PCIe graphics
card, but <tt>vt(4)</tt> does not attach to it yet.</p>
</li><li>
<p>64-bit support: The CPU on the board is a P5020, a 64-bit
e5500 dual-core SoC. Currently, booke support in FreeBSD is
32-bit only.</p>
</li><li>
<p>SMP: SMP support on Book-E hardware is currently
broken.</p>
</li><li>
<p>U-boot support: Currently this uses a compiled-in device
tree, but it would be preferable to use the device
tree provided by u-boot, or at least the Linux-compatible
device tree.</p>
</li><li>
<p>More work is needed on the DPAA front (Datapath
Acceleration Architecture) to improve the Ethernet driver
and utilize the SEC engine for crypto, <tt>random(4)</tt>,
and IPSec.</p>
</li></ol><hr /><h2><a name="FreeBSD-on-Cavium-ThunderX-(arm64)" href="#FreeBSD-on-Cavium-ThunderX-(arm64)" id="FreeBSD-on-Cavium-ThunderX-(arm64)">FreeBSD on Cavium ThunderX (arm64)</a></h2><p>
Contact:
Dominik
Ermel
<<a href="mailto:der@semihalf.com">der@semihalf.com</a>>
<br />
Contact:
Wojciech
Macek
<<a href="mailto:wma@semihalf.com">wma@semihalf.com</a>>
<br />
Contact:
Zbigniew
Bodek
<<a href="mailto:zbb@semihalf.com">zbb@semihalf.com</a>>
</p>
<p>Since the last report, FreeBSD support for ThunderX has been
significantly improved and stabilized. Semihalf contributions
include the following items:</p>
<ul>
<li>Support for the newest ThunderX chip revisions (Pass 2.0)
and current Cavium firmware. Backward compatibility is
maintained.</li>
<li>Moved to using <tt>pci_host_generic.c</tt> as a main
driver for the internal PCIe bridge. This involved a
significant rework of PCIe code to support both generic and
ThunderX based platforms.</li>
<li> Serious networking performance boost and bug fixes:</li>
<ul>
<li>Fixed race condition on Rx path causing a very rare
"use after free" issue</li>
<li>Hardware L3 and L4 checksums support</li>
<li>Hardware assisted TCP Segmentation Offloading
(TSO)</li>
<li>Support for software Large Receive Offload (LRO)</li>
<li>Various improvements to Tx and Rx paths and
configuration</li>
</ul>
</ul>
<p>The driver supports all available Ethernet connections (1,
10, 40 Gbps) and the system can saturate a 10 Gbps link (on
Tx) using 4 CPU cores.</p>
<ul>
<li>Significantly improved overall I/O performance:</li>
<ul>
<li>Complete rework of <tt>copyin</tt>/<tt>copyout</tt> and
<tt>bzero</tt> functionalities</li>
</ul>
<li>Other improvements:</li>
<ul>
<li>Support for interrupt to CPU binding (including
GICv3/ITS backends)</li>
</ul>
</ul>
<p>This work is integrated to FreeBSD HEAD on an on-going
basis.</p>
<p>This project was sponsored by Cavium, and Semihalf.</p><h3>Open tasks:</h3><ol><li>
<p>Add support for multi-Queue Set operation in VNIC.</p>
</li></ol><hr /><h2><a name="powerpcspe-Target" href="#powerpcspe-Target" id="powerpcspe-Target">powerpcspe Target</a></h2><table title="Links" style="white-space: nowrap;"><tr><td>Links</td></tr><tr><td><a href="https://svnweb.freebsd.org/base/projects/powerpcspe/" title="https://svnweb.freebsd.org/base/projects/powerpcspe/">Source Tree</a></td><td>
URL: <a href="https://svnweb.freebsd.org/base/projects/powerpcspe/" title="Source Tree">https://svnweb.freebsd.org/base/projects/powerpcspe/</a></td></tr></table><p>
Contact:
Justin
Hibbits
<<a href="mailto:jhibbits@FreeBSD.org">jhibbits@FreeBSD.org</a>>
</p>
<p>This project aims to enable the use of the Signal Processing
Engine found in the NXP/Freescale e500v2 SoC. The SPE uses
opcodes overlapping with those of Altivec, so they are
mutually exclusive. Additionally, the e500v2 does not have a
traditional FPU, and instead uses the SPE for all floating
point operations (or emulation, as is currently done).
Combined with the fact that the SPE ABI is incompatible with
the traditional ABI, a new MACHINE_ARCH has been created to
address these incompatibilities.</p>
<p>A project branch has been created for the work. A
powerpcspe kernel boots on the RouterBoard RB800, and the base
utilities run properly.</p>
<h3>Open tasks:</h3><ol><li>
<p>Potentially optimizing <tt>setjmp</tt>/<tt>longjmp</tt> to
not use SPE unless it has already been enabled. This would
save the kernel switch for processes that do not otherwise
use the SPE. This is a low priority task which may not be
completed.</p>
</li></ol><hr /><br /><h1><a name="Userland-Programs" href="#Userland-Programs" id="Userland-Programs">Userland Programs</a></h1><br /><h2><a name="ELF-Tool-Chain-Tools" href="#ELF-Tool-Chain-Tools" id="ELF-Tool-Chain-Tools">ELF Tool Chain Tools</a></h2><table title="Links" style="white-space: nowrap;"><tr><td>Links</td></tr><tr><td><a href="http://elftoolchain.sourceforge.net" title="http://elftoolchain.sourceforge.net">ELF Tool Chain Web Site</a></td><td>
URL: <a href="http://elftoolchain.sourceforge.net" title="ELF Tool Chain Web Site">http://elftoolchain.sourceforge.net</a></td></tr></table><p>
Contact:
Ed
Maste
<<a href="mailto:emaste@FreeBSD.org">emaste@FreeBSD.org</a>>
</p>
<p>The ELF Tool Chain project provides BSD-licensed
implementations of compilation tools and libraries for
building and analyzing ELF objects. The project began as part
of FreeBSD but later became an independent project to encourage
wider participation from others in the open-source developer
community.</p>
<p>The ELF Tool Chain project released version 0.7.1 in
February. We have been tracking snapshots of the upstream
repository in FreeBSD.
Having an official release brings the benefit of
broader testing and visibility within other open source
projects, even if we do not require it in order to
update FreeBSD.</p>
<p>In the first quarter of 2016, the ELF Tool Chain tools were
updated to a snapshot of upstream Subversion revision 3400, which
is close to the 0.7.1 release. Additional bug fixes were
committed to FreeBSD and subsequently merged into the upstream
repository.</p>
<p>ELF Tool Chain's <tt>elfcopy(1)</tt> is now installed as
<tt>objcopy(1)</tt> by default, as it is a viable replacement
for the base system and ports tree.</p>
<p>Significant improvements were made to the
<tt>elfcopy(1)</tt>, <tt>readelf(1)</tt>, and
<tt>elfdump(1)</tt> tools, including better MIPS, RISC-V, and
AArch64 support.</p>
<p>This project was sponsored by The FreeBSD Foundation.</p><h3>Open tasks:</h3><ol><li>
<p>Fix issues found by fuzzing inputs to the tools.</p>
</li><li>
<p>Add automatic support for separate debug files.</p>
</li><li>
<p>Investigate replacement <tt>objdump</tt>, <tt>ld</tt> and
<tt>as</tt> implementations.</p>
</li></ol><hr /><h2><a name="Native-PCI-express-HotPlug" href="#Native-PCI-express-HotPlug" id="Native-PCI-express-HotPlug">Native PCI-express HotPlug</a></h2><table title="Links" style="white-space: nowrap;"><tr><td>Links</td></tr><tr><td><a href="https://github.com/bsdjhb/freebsd/tree/pci_hp" title="https://github.com/bsdjhb/freebsd/tree/pci_hp">Native PCI-express HotPlug Support</a></td><td>
URL: <a href="https://github.com/bsdjhb/freebsd/tree/pci_hp" title="Native PCI-express HotPlug Support">https://github.com/bsdjhb/freebsd/tree/pci_hp</a></td></tr></table><p>
Contact:
John
Baldwin
<<a href="mailto:jhb@FreeBSD.org">jhb@FreeBSD.org</a>>
</p>
<p>A new implementation of support for native PCI-express
hotplug is present at the URL above. Much of the new code
lives in the PCI-PCI bridge driver to handle hotplug events
and manage the PCI-express slot registers. Additional changes
in the branch include adding new <tt>rescan</tt> and
<tt>delete</tt> commands to <tt>devctl(8)</tt>, as well as
support for rescanning PCI busses.</p>
<p>The current implementation has been tested on systems with
ExpressCard slots but could use additional testing, especially on
systems with other PCI-express HotPlug features such as
mechanical latches, attention buttons, indicators, and so
on.</p>
<h3>Open tasks:</h3><ol><li>
<p>Split the branch into separate logical changes as commit
candidates.</p>
</li><li>
<p>Additional testing.</p>
</li></ol><hr /><h2><a name="Updates-to-GDB" href="#Updates-to-GDB" id="Updates-to-GDB">Updates to GDB</a></h2><p>
Contact:
John
Baldwin
<<a href="mailto:jhb@FreeBSD.org">jhb@FreeBSD.org</a>>
</p>
<p>The new thread target that directly uses <tt>ptrace(2)</tt>
was committed upstream and included in GDB 7.11. The port was
also updated to GDB 7.11.</p>
<h3>Open tasks:</h3><ol><li>
<p>Figure out why the powerpc kgdb targets are not able to
unwind the stack past the initial frame.</p>
</li><li>
<p>Add support for more platforms (arm, mips, aarch64) to
upstream gdb for both userland and kgdb.</p>
</li><li>
<p>Add support for debugging powerpc vector registers.</p>
</li><li>
<p>Add support for catching system calls.</p>
</li><li>
<p>Add support for <tt>$_siginfo</tt>.</p>
</li><li>
<p>Add support for ELF auxv data via <tt>info auxv</tt>.</p>
</li><li>
<p>Implement <tt>info os</tt> commands.</p>
</li><li>
<p>Implement <tt>gdbserver</tt> for FreeBSD.</p>
</li></ol><hr /><h2><a name="Using-lld,-the-LLVM-Linker,-to-Link-FreeBSD" href="#Using-lld,-the-LLVM-Linker,-to-Link-FreeBSD" id="Using-lld,-the-LLVM-Linker,-to-Link-FreeBSD">Using lld, the LLVM Linker, to Link
FreeBSD</a></h2><table title="Links" style="white-space: nowrap;"><tr><td>Links</td></tr><tr><td><a href="https://wiki.freebsd.org/LLD" title="https://wiki.freebsd.org/LLD">FreeBSD lld Wiki Page</a></td><td>
URL: <a href="https://wiki.freebsd.org/LLD" title="FreeBSD lld Wiki Page">https://wiki.freebsd.org/LLD</a></td></tr><tr><td><a href="http://lists.llvm.org/pipermail/llvm-dev/2016-March/096449.html" title="http://lists.llvm.org/pipermail/llvm-dev/2016-March/096449.html">Status Report on Linking FreeBSD/amd64 with lld</a></td><td>
URL: <a href="http://lists.llvm.org/pipermail/llvm-dev/2016-March/096449.html" title="Status Report on Linking FreeBSD/amd64 with lld">http://lists.llvm.org/pipermail/llvm-dev/2016-March/096449.html</a></td></tr></table><p>
Contact:
Rafael
Espíndola
<<a href="mailto:rafael.espindola@gmail.com">rafael.espindola@gmail.com</a>>
<br />
Contact:
Davide
Italiano
<<a href="mailto:davide@FreeBSD.org">davide@FreeBSD.org</a>>
<br />
Contact:
Ed
Maste
<<a href="mailto:emaste@FreeBSD.org">emaste@FreeBSD.org</a>>
</p>
<p><tt>lld</tt> is the linker in the LLVM family of projects.
It is intended to be a high-performance linker and supports
the ELF, COFF and Mach-O object formats. Where possible,
<tt>lld</tt> maintains command-line and functional
compatibility with existing linkers (GNU BFD <tt>ld</tt> and
<tt>gold</tt>), but <tt>lld</tt>'s authors are not constrained
by strict compatibility where it would hamper performance or
desired functionality.</p>
<p>The upstream <tt>lld</tt> project made significant progress
in adding new functionality to <tt>lld</tt>'s ELF support over
the first quarter of 2016. The <tt>lld</tt> ELF linker is
capable of self-hosting on FreeBSD/amd64 and is capable of
linking many test applications.</p>
<p>Highlights of upstream development over the quarter include:
<ul>
<li><tt>lld</tt> gained Link Time Optimization (LTO) support
and is able to link Clang with LTO</li>
<li>The relocation code has been overhauled for better
maintainability</li>
<li>Improvements to linker script support, including better
diagnostics</li>
<li>Many bug fixes in x86_64, AArch64, and MIPS support</li>
</ul></p>
<p><tt>lld</tt> currently lacks comprehensive linker script
expression evaluation support, and therefore cannot yet be
used to link the FreeBSD kernel. It also lacks versioned
symbol support, and does not implement some options used in
the FreeBSD boot loader components.</p>
<p>Ed has been running experimental world builds of
FreeBSD/amd64 with <tt>lld</tt> installed in place of
<tt>ld.bfd</tt> as the linker. With workarounds for the
current gaps in functionality (using the
<tt>WITHOUT_SYMVER</tt> option to disable symbol versioning
use, and linking the loader components with GNU <tt>ld</tt>),
<tt>lld</tt> is now able to link a working FreeBSD
userland.</p>
<p>This project was sponsored in part by The FreeBSD Foundation.</p><h3>Open tasks:</h3><ol><li>
<p>Enable the <tt>lld</tt> option by default in the llvm-devel
(and later llvm) ports for testing.</p>
</li><li>
<p>Develop symbol version support and linker script expression
improvements in the upstream lld project.</p>
</li><li>
<p>Add or improve support for the remaining FreeBSD
architectures.</p>
</li><li>
<p>Import a newer lld snapshot into the vendor area, add build
infrastructure and connect it to the world build, installed
as <tt>ld.lld</tt>.</p>
</li><li>
<p>Request a ports exp-run with <tt>/usr/bin/ld</tt> a symlink
to <tt>ld.lld</tt>.</p>
</li><li>
<p>Extensive testing.</p>
</li></ol><hr /><br /><h1><a name="Ports" href="#Ports" id="Ports">Ports</a></h1><br /><h2><a name="GitLab-Port" href="#GitLab-Port" id="GitLab-Port">GitLab Port</a></h2><p>
Contact:
Torsten
Zühlsdorff
<<a href="mailto:ports@toco-domains.de">ports@toco-domains.de</a>>
</p>
<p>After nearly a year of work on this project, GitLab 8.5.5 was
committed into the ports tree. A big thanks to the enormous
number of people involved! Since GitLab is a fast-moving
project, there is also ongoing work to stay in sync with
upstream. Have fun!</p>
<hr /><h2><a name="GNOME-on-FreeBSD" href="#GNOME-on-FreeBSD" id="GNOME-on-FreeBSD">GNOME on FreeBSD</a></h2><table title="Links" style="white-space: nowrap;"><tr><td>Links</td></tr><tr><td><a href="http://www.FreeBSD.org/gnome" title="http://www.FreeBSD.org/gnome">FreeBSD GNOME Website</a></td><td>
URL: <a href="http://www.FreeBSD.org/gnome" title="FreeBSD GNOME Website">http://www.FreeBSD.org/gnome</a></td></tr><tr><td><a href="https://github.com/FreeBSD/freebsd-ports-gnome" title="https://github.com/FreeBSD/freebsd-ports-gnome">Development Repository</a></td><td>
URL: <a href="https://github.com/FreeBSD/freebsd-ports-gnome" title="Development Repository">https://github.com/FreeBSD/freebsd-ports-gnome</a></td></tr><tr><td><a href="https://wiki.gnome.org/Projects/Jhbuild/FreeBSD" title="https://wiki.gnome.org/Projects/Jhbuild/FreeBSD">Upstream Build Bot</a></td><td>
URL: <a href="https://wiki.gnome.org/Projects/Jhbuild/FreeBSD" title="Upstream Build Bot">https://wiki.gnome.org/Projects/Jhbuild/FreeBSD</a></td></tr><tr><td><a href="https://www.FreeBSD.org/doc/en_US.ISO8859-1/books/porters-handbook/using-gnome.html" title="https://www.FreeBSD.org/doc/en_US.ISO8859-1/books/porters-handbook/using-gnome.html">USE_GNOME Porter's Handbook Chapter</a></td><td>
URL: <a href="https://www.FreeBSD.org/doc/en_US.ISO8859-1/books/porters-handbook/using-gnome.html" title="USE_GNOME Porter's Handbook Chapter">https://www.FreeBSD.org/doc/en_US.ISO8859-1/books/porters-handbook/using-gnome.html</a></td></tr></table><p>
Contact: FreeBSD GNOME Team <<a href="mailto:freebsd-gnome@FreeBSD.org">freebsd-gnome@FreeBSD.org</a>>
</p>
<p>The FreeBSD GNOME Team maintains the GNOME, MATE, and
CINNAMON desktop environments and graphical user interfaces for
FreeBSD. GNOME 3 is part of the GNU Project. MATE is a fork of
the GNOME 2 desktop. CINNAMON is a desktop environment using
GNOME 3 technologies but with a GNOME 2 look and feel.</p>
<p>This quarter, GNOME 3.18 and MATE 1.12 were committed to the
ports tree.</p>
<p>The <tt>bsd.gnome.mk</tt> and <tt>bsd.mate.mk</tt> frameworks
were replaced by the simpler <tt>Uses/gnome.mk</tt> and
<tt>Uses/mate.mk</tt> style.</p>
<h3>Open tasks:</h3><ol><li>
<p>Tracking MATE 1.13, the development version that will
become MATE 1.14.</p>
</li><li>
<p>Work started on porting GNOME 3.20.</p>
</li><li>
<p>We have Cinnamon 2.8 in our development tree, but we do not
have the time to properly test and fix the issues before
this Cinnamon can be committed to ports. Interested in
helping or taking maintainership of Cinnamon? Please let us
know.</p>
</li></ol><hr /><h2><a name="KDE-on-FreeBSD" href="#KDE-on-FreeBSD" id="KDE-on-FreeBSD">KDE on FreeBSD</a></h2><table title="Links" style="white-space: nowrap;"><tr><td>Links</td></tr><tr><td><a href="https://freebsd.kde.org/" title="https://freebsd.kde.org/">KDE on FreeBSD Website</a></td><td>
URL: <a href="https://freebsd.kde.org/" title="KDE on FreeBSD Website">https://freebsd.kde.org/</a></td></tr><tr><td><a href="https://freebsd.kde.org/area51.php" title="https://freebsd.kde.org/area51.php">Experimental KDE Ports Staging Area</a></td><td>
URL: <a href="https://freebsd.kde.org/area51.php" title="Experimental KDE Ports Staging Area">https://freebsd.kde.org/area51.php</a></td></tr><tr><td><a href="https://wiki.FreeBSD.org/KDE" title="https://wiki.FreeBSD.org/KDE">KDE on FreeBSD Wiki</a></td><td>
URL: <a href="https://wiki.FreeBSD.org/KDE" title="KDE on FreeBSD Wiki">https://wiki.FreeBSD.org/KDE</a></td></tr><tr><td><a href="https://mail.kde.org/mailman/listinfo/kde-freebsd" title="https://mail.kde.org/mailman/listinfo/kde-freebsd">KDE/FreeBSD Mailing List</a></td><td>
URL: <a href="https://mail.kde.org/mailman/listinfo/kde-freebsd" title="KDE/FreeBSD Mailing List">https://mail.kde.org/mailman/listinfo/kde-freebsd</a></td></tr><tr><td><a href="http://src.mouf.net/area51/log/branches/plasma5" title="http://src.mouf.net/area51/log/branches/plasma5">Development Repository for Integrating KDE Frameworks 5 and Plasma 5</a></td><td>
URL: <a href="http://src.mouf.net/area51/log/branches/plasma5" title="Development Repository for Integrating KDE Frameworks 5 and Plasma 5">http://src.mouf.net/area51/log/branches/plasma5</a></td></tr></table><p>
Contact: KDE on FreeBSD team <<a href="mailto:kde@FreeBSD.org">kde@FreeBSD.org</a>>
</p>
<p>The KDE on FreeBSD team focuses on packaging and making sure
that the experience of KDE and Qt on FreeBSD is as good as
possible.</p>
<p>While the list of updates is shorter than that for the
previous quarter, the team remained busy and work on KDE
Frameworks 5 and Plasma 5 continues.</p>
<p>Tobias Berner, who has been driving our KDE Frameworks 5 and
Plasma 5 efforts from the beginning, received a KDE commit
bit, and has been putting it to good use by upstreaming
FreeBSD across several KDE repositories. Another team
highlight in the beginning of this year is the (re)addition of
another committer to our experimental repository: Adriaan de
Groot, a longtime KDE contributor who also used to work on KDE
and FreeBSD almost a decade ago when our team was first
formed. Welcome back, Ade!</p>
<p>The following big updates were landed in the ports tree this
quarter. In many cases, we have also contributed patches to
the upstream projects.</p>
<ul>
<li>CMake 3.4.2 and 3.5.0</li>
<li>Calligra 2.9.11, the latest release of the integrated work
applications suite. We have managed to keep in sync with
the upstream releases since 2.9.10.</li>
<li>KDE Telepathy was updated to 0.9.0 and Telepathy-Qt4 was
updated to 0.9.6.1, the latest upstream releases.</li>
<li>The Qt 5 ports were finally updated to 5.5.1, which were
the latest stable version at the time.</li>
<li>The first commit preparing the groundwork for KDE
Frameworks 5 and Plasma 5
<a href="https://svnweb.freebsd.org/changeset/ports/411156" shape="rect">was
landed to the ports tree</a>.</li>
</ul>
<p>Work on Qt 5.6.0 is
under way in our experimental repositories. At
the time of this writing, it also contains KDE Frameworks 5.20.0,
Plasma 5.6.1, and KDE Applications 16.03.80.</p>
<p>Users interested in testing those ports are encouraged to
follow the instructions in
<a href="https://freebsd.kde.org/area51.php" shape="rect">our website</a>
and report their results to our mailing list. Qt5 5.6.0 is in
our <tt>qt-5.6</tt> branch, and Plasma 5 and the rest is in
the <tt>plasma5</tt> branch.</p>
<h3>Open tasks:</h3><ol><li>
<p>Land the KDE Frameworks 5 and Plasma 5 ports to the
tree.</p>
</li><li>
<p>Commit the DigiKam 4.14.0 update currently being worked on
in our experimental repository.</p>
</li></ol><hr /><h2><a name="Obsoleting-Rails-3" href="#Obsoleting-Rails-3" id="Obsoleting-Rails-3">Obsoleting Rails 3</a></h2><p>
Contact:
Torsten
Zühlsdorff
<<a href="mailto:ports@toco-domains.de">ports@toco-domains.de</a>>
</p>
<p>Ruby on Rails is the base for most of the rubygems in the
Ports Collection. Currently, versions 3.2 and 4.2 coexist, but since
Rails 3.2 is running out of support, the time has come to
switch.</p>
<p>There is an ongoing progress to remove Rails 3.2 from the
ports tree. While many gems already work with the new
version, there are some exceptions. For example, www/redmine
needs a big update (which is currently being tested) because it
depends on gems that depends on Rails 3.2.</p>
<p>If you want to help with porting or testing, feel free to contact
me or the mailinglist <tt>ruby@FreeBSD.org</tt>.</p>
<hr /><h2><a name="Ports-Collection" href="#Ports-Collection" id="Ports-Collection">Ports Collection</a></h2><table title="Links" style="white-space: nowrap;"><tr><td>Links</td></tr><tr><td><a href="http://www.FreeBSD.org/ports/" title="http://www.FreeBSD.org/ports/"></a></td><td>
URL: <a href="http://www.FreeBSD.org/ports/" title="">http://www.FreeBSD.org/ports/</a></td></tr><tr><td><a href="http://www.freebsd.org/doc/en_US.ISO8859-1/articles/contributing-ports/" title="http://www.freebsd.org/doc/en_US.ISO8859-1/articles/contributing-ports/"></a></td><td>
URL: <a href="http://www.freebsd.org/doc/en_US.ISO8859-1/articles/contributing-ports/" title="">http://www.freebsd.org/doc/en_US.ISO8859-1/articles/contributing-ports/</a></td></tr><tr><td><a href="http://portsmon.freebsd.org/index.html" title="http://portsmon.freebsd.org/index.html"></a></td><td>
URL: <a href="http://portsmon.freebsd.org/index.html" title="">http://portsmon.freebsd.org/index.html</a></td></tr><tr><td><a href="http://www.freebsd.org/portmgr/index.html" title="http://www.freebsd.org/portmgr/index.html"></a></td><td>
URL: <a href="http://www.freebsd.org/portmgr/index.html" title="">http://www.freebsd.org/portmgr/index.html</a></td></tr><tr><td><a href="http://www.facebook.com/portmgr" title="http://www.facebook.com/portmgr"></a></td><td>
URL: <a href="http://www.facebook.com/portmgr" title="">http://www.facebook.com/portmgr</a></td></tr></table><p>
Contact:
Frederic
Culot
<<a href="mailto:portmgr-secretary@FreeBSD.org">portmgr-secretary@FreeBSD.org</a>>
<br />
Contact: FreeBSD Ports Management Team <<a href="mailto:portmgr@FreeBSD.org">portmgr@FreeBSD.org</a>>
</p>
<p>As of the end of Q1, the ports tree holds a bit more
than 25,000 ports, and the PR count is below 1,900. The
activity on the ports tree remains steady, with almost 7,000
commits performed by around 120 active committers.</p>
<p>On the problem reports front, the encouraging trend
observed during the previous quarter is confirmed, with again
a significant increase in the number of PRs fixed during Q1.
Indeed, almost 2,400 reports were fixed, which allows us to go
below the threshold value of 2,000 open PRs.</p>
<p>In Q1, three commit bits were taken in for safekeeping,
following an inactivity period of more than 18 months (milki,
brian), or on committer's request (mmoll). We had one
returning committer (fluffy) who had his commit bit
reinstated. Two new developers were granted a ports commit
bit (Olivier Cochard-Labbe and Christoph Moench-Tegeder).</p>
<p>On the management side, we had the pleasure to welcome miwi
back to the portmgr team.</p>
<p>On the QA side, 39 exp-runs were performed to validate
sensitive updates or cleanups. The most noticeable change
might be the removal of the now unneeded
<tt>${PORTSDIR}</tt> when specifying dependencies in
Makefiles (see the <tt>/usr/ports/CHANGES</tt> entry dated
20160402). Amongst other noticeable changes are the update to
ruby 2.3, ruby-gems to 2.5.1, CMake to 3.5.0, clang to
3.8.0-r258968, Qt5 to 5.5.1, Gnome to 3.18, boost to 1.60.0,
the update of libc++ in base to 3.8.0 release, and the
enabling of LLVM libunwind by default on x86. The CentOS
ports were also updated. Some infrastructure changes included
the switch from <tt>bsd.gnome.mk</tt> and <tt>bsd.mate.mk</tt>
to the simpler <tt>Uses/gnome.mk</tt> and
<tt>Uses/mate.mk</tt>. Some work was also done to improve
poudriere builds by reducing dependency calculation and
general overheads.</p>
<h3>Open tasks:</h3><ol><li>
<p>We would like to remind everyone that the ports tree is
built and run by volunteers, and any help is greatly
appreciated. A great amount of effort was spent on the
ports front in Q1, which allowed us to decrease the number
of pending problem reports significantly, as well as on the
ports infrastructure. Many thanks to all who
contributed!</p>
</li></ol><hr /><br /><h1><a name="Documentation" href="#Documentation" id="Documentation">Documentation</a></h1><br /><h2><a name="New-FreeBSD-Mastery-Books" href="#New-FreeBSD-Mastery-Books" id="New-FreeBSD-Mastery-Books">New FreeBSD Mastery Books</a></h2><table title="Links" style="white-space: nowrap;"><tr><td>Links</td></tr><tr><td><a href="https://www.michaelwlucas.com/nonfiction/fmsf" title="https://www.michaelwlucas.com/nonfiction/fmsf">FreeBSD Mastery: Specialty Filesystems</a></td><td>
URL: <a href="https://www.michaelwlucas.com/nonfiction/fmsf" title="FreeBSD Mastery: Specialty Filesystems">https://www.michaelwlucas.com/nonfiction/fmsf</a></td></tr><tr><td><a href="https://www.michaelwlucas.com/nonfiction/fmaz" title="https://www.michaelwlucas.com/nonfiction/fmaz">FreeBSD Mastery: Advanced ZFS</a></td><td>
URL: <a href="https://www.michaelwlucas.com/nonfiction/fmaz" title="FreeBSD Mastery: Advanced ZFS">https://www.michaelwlucas.com/nonfiction/fmaz</a></td></tr><tr><td><a href="https://www.tiltedwindmillpress.com/" title="https://www.tiltedwindmillpress.com/">Tilted Windmill Press</a></td><td>
URL: <a href="https://www.tiltedwindmillpress.com/" title="Tilted Windmill Press">https://www.tiltedwindmillpress.com/</a></td></tr></table><p>
Contact:
Michael
Lucas
<<a href="mailto:mwlucas@michaelwlucas.com">mwlucas@michaelwlucas.com</a>>
<br />
Contact:
Allan
Jude
<<a href="mailto:allanjude@FreeBSD.org">allanjude@FreeBSD.org</a>>
</p>
<p>Two new <em>FreeBSD Mastery</em> books are out:</p>
<p><em>FreeBSD Mastery: Specialty Filesystems</em> by Michael
W. Lucas, and the long-awaited
<em>FreeBSD Mastery: Advanced ZFS</em> by Lucas
and Allan Jude.</p>
<p>Both books are available in print and ebook formats now.</p>
<p>A bundle containing all the FreeBSD Mastery books is
available at a discount from
<a href="https://www.tiltedwindmillpress.com/" shape="rect">tiltedwindmillpress.com</a>.</p>
<h3>Open tasks:</h3><ol><li>
<p>Write more books!</p>
</li></ol><hr /><h2><img src="./images/32/doc.jpg" style="display: inline" /><a name="Spanish-FAQ-and-Chinese-Porter's-Handbook-Translations" href="#Spanish-FAQ-and-Chinese-Porter's-Handbook-Translations" id="Spanish-FAQ-and-Chinese-Porter's-Handbook-Translations">Spanish FAQ and Chinese Porter's Handbook
Translations</a></h2><table title="Links" style="white-space: nowrap;"><tr><td>Links</td></tr><tr><td><a href="https://www.freebsd.org/doc/es_ES.ISO8859-1/books/faq/" title="https://www.freebsd.org/doc/es_ES.ISO8859-1/books/faq/">Preguntas Frecuentes para FreeBSD 9.X y 10.X</a></td><td>
URL: <a href="https://www.freebsd.org/doc/es_ES.ISO8859-1/books/faq/" title="Preguntas Frecuentes para FreeBSD 9.X y 10.X">https://www.freebsd.org/doc/es_ES.ISO8859-1/books/faq/</a></td></tr><tr><td><a href="https://www.freebsd.org/doc/zh_TW.UTF-8/books/porters-handbook/" title="https://www.freebsd.org/doc/zh_TW.UTF-8/books/porters-handbook/">FreeBSD Porter 手冊</a></td><td>
URL: <a href="https://www.freebsd.org/doc/zh_TW.UTF-8/books/porters-handbook/" title="FreeBSD Porter 手冊">https://www.freebsd.org/doc/zh_TW.UTF-8/books/porters-handbook/</a></td></tr><tr><td><a href="https://lists.freebsd.org/pipermail/freebsd-translators/" title="https://lists.freebsd.org/pipermail/freebsd-translators/">FreeBSD Translators Mailing List</a></td><td>
URL: <a href="https://lists.freebsd.org/pipermail/freebsd-translators/" title="FreeBSD Translators Mailing List">https://lists.freebsd.org/pipermail/freebsd-translators/</a></td></tr><tr><td><a href="https://www.freebsd.org/doc/en_US.ISO8859-1/books/fdp-primer/po-translations.html" title="https://www.freebsd.org/doc/en_US.ISO8859-1/books/fdp-primer/po-translations.html">PO Translations</a></td><td>
URL: <a href="https://www.freebsd.org/doc/en_US.ISO8859-1/books/fdp-primer/po-translations.html" title="PO Translations">https://www.freebsd.org/doc/en_US.ISO8859-1/books/fdp-primer/po-translations.html</a></td></tr><tr><td><a href="https://www.freebsd.org/doc/en_US.ISO8859-1/books/fdp-primer/" title="https://www.freebsd.org/doc/en_US.ISO8859-1/books/fdp-primer/">FreeBSD Documentation Project Primer for New Contributors</a></td><td>
URL: <a href="https://www.freebsd.org/doc/en_US.ISO8859-1/books/fdp-primer/" title="FreeBSD Documentation Project Primer for New Contributors">https://www.freebsd.org/doc/en_US.ISO8859-1/books/fdp-primer/</a></td></tr></table><p>
Contact:
Federico
Caminiti
<<a href="mailto:demian.fc@gmail.com">demian.fc@gmail.com</a>>
<br />
Contact:
Carlos
J Puga Medina
<<a href="mailto:cpm@fbsd.es">cpm@fbsd.es</a>>
<br />
Contact:
Ruey-Cherng
Yu
<<a href="mailto:raycherng@gmail.com">raycherng@gmail.com</a>>
<br />
Contact:
Warren
Block
<<a href="mailto:wblock@FreeBSD.org">wblock@FreeBSD.org</a>>
</p>
<p>Federico Caminiti created an entirely new Spanish translation
of the 31,000-word
<a href="https://www.freebsd.org/doc/en_US.ISO8859-1/books/faq/" shape="rect">FAQ</a>
with editorial help from Carlos J Puga Medina.</p>
<p>This landmark accomplishment marks the first use of the new
PO translation system to translate an entire book!</p>
<p>Ruey-Cherng Yu has begun an ambitious Traditional Chinese
(zh_TW) translation of the 64,000-word
<a href="https://www.freebsd.org/doc/en_US.ISO8859-1/books/porters-handbook/" shape="rect">Porter's Handbook</a>.
About half of the strings in the book have been translated so
far.</p>
<h3>Open tasks:</h3><ol><li>
<p>Help add and improve translations of FreeBSD documents into
Spanish:
<a href="https://lists.freebsd.org/pipermail/freebsd-translators/2016-March/000113.html" shape="rect">start of <tt>freebsd-translators</tt> thread</a>.</p>
</li><li>
<p>Help add and improve translations of FreeBSD documents into
Chinese or other languages.</p>
</li></ol><hr /><h2><a name="The-FreeBSD-German-Documentation-Project" href="#The-FreeBSD-German-Documentation-Project" id="The-FreeBSD-German-Documentation-Project">The FreeBSD German Documentation Project</a></h2><table title="Links" style="white-space: nowrap;"><tr><td>Links</td></tr><tr><td><a href="https://people.freebsd.org/~jkois/FreeBSDde/de/" title="https://people.freebsd.org/~jkois/FreeBSDde/de/">Homepage of the FreeBSD German Documentation Project</a></td><td>
URL: <a href="https://people.freebsd.org/~jkois/FreeBSDde/de/" title="Homepage of the FreeBSD German Documentation Project">https://people.freebsd.org/~jkois/FreeBSDde/de/</a></td></tr></table><p>
Contact:
Björn
Heidotting
<<a href="mailto:bhd@FreeBSD.org">bhd@FreeBSD.org</a>>
<br />
Contact:
Benedict
Reuschling
<<a href="mailto:bcr@FreeBSD.org">bcr@FreeBSD.org</a>>
<br />
Contact:
Johann
Kois
<<a href="mailto:jkois@FreeBSD.org">jkois@FreeBSD.org</a>>
</p>
<p>The FreeBSD German Documentation Project translates FreeBSD's
documentation (handbook, articles, website, etc.) into the
German language.</p>
<p>Due to the tireless effort of Björn Heidotting, we made huge
improvements in catching up with the translation of the German
handbook. Benedict helped with reviewing the changes using
FreeBSD's review system Phabricator, which helped a lot. We
now have the following handbook chapters in sync with the
latest version in the English tree:</p>
<ul>
<li>filesystems</li>
<li>kernelconfig</li>
<li>ports</li>
<li>x11</li>
</ul>
<p>We try to keep up the good work, while also looking at new
ways to translate like the PO/gettext-based system. We are
always looking for volunteers who are interested in
translating small sections or even entire documents. The
process is relatively easy and contributors do not have to
know much to get started. The members of the FreeBSD German
Documentation Team are also willing to mentor people who are
interested in helping out.</p>
<h3>Open tasks:</h3><ol><li>
<p>Translate more documents.</p>
</li></ol><hr /><br /><h1><a name="Miscellaneous" href="#Miscellaneous" id="Miscellaneous">Miscellaneous</a></h1><br /><h2><a name="FreeBSD-Build" href="#FreeBSD-Build" id="FreeBSD-Build">FreeBSD Build</a></h2><p>
Contact:
Bryan
Drewery
<<a href="mailto:bdrewery@FreeBSD.org">bdrewery@FreeBSD.org</a>>
</p>
<p>Build improvements for buildworld on FreeBSD head continue.
Some highlights include:</p>
<ul>
<li><tt>WITH_FAST_DEPEND</tt> was made the default in r296668, and
later made the only option in r297434. The new depend code
avoids a <tt>make depend</tt> tree walk and generates
<tt>.depend</tt> files during the build as a side-effect of
compilation. This is done by using the <tt>-MF</tt> flags of the
compiler. This speeds up the build by 15-35%.</li>
<li><a href="http://bugs.freebsd.org/196193" shape="rect">PR 196193</a>:
<tt>WITHOUT_CROSS_COMPILER</tt> was fixed to properly use
<tt>--sysroot</tt> which allows the option to work in more
cases. It is still unsafe when major compiler upgrades
occur. Further work is planned to improve that still.</li>
<li><tt>WITHOUT_TOOLCHAIN</tt> now properly builds.</li>
</ul>
<p>This project was sponsored by EMC / Isilon Storage Division.</p><h3>Open tasks:</h3><ol><li>
<p>Opportunistically skipping the bootstrap compiler phase of
buildworld.</p>
</li><li>
<p>Skipping the <tt>make obj</tt> tree walk.</p>
</li><li>
<p>Enabling <tt>WITH_META_MODE</tt> in buildworld to provide a
reliable incremental build using <tt>filemon(4)</tt> and
<tt>bmake</tt>'s <tt>.MAKE.MODE=meta</tt>. This should not
be confused with <tt>WITH_DIRDEPS_BUILD</tt> which
previously was named <tt>WITH_META_MODE</tt> and is a
drastically different build system presented at BSDCan 2014
by Simon Gerraty.</p>
</li></ol><hr /><h2><a name="Qt-5.6-on-Raspberry-Pi" href="#Qt-5.6-on-Raspberry-Pi" id="Qt-5.6-on-Raspberry-Pi">Qt 5.6 on Raspberry Pi</a></h2><table title="Links" style="white-space: nowrap;"><tr><td>Links</td></tr><tr><td><a href="http://kernelnomicon.org/?p=598" title="http://kernelnomicon.org/?p=598">Qt 5.6 on FreeBSD/Pi</a></td><td>
URL: <a href="http://kernelnomicon.org/?p=598" title="Qt 5.6 on FreeBSD/Pi">http://kernelnomicon.org/?p=598</a></td></tr></table><p>
Contact:
Oleksandr
Tymoshenko
<<a href="mailto:gonzo@FreeBSD.org">gonzo@FreeBSD.org</a>>
</p>
<p>Qt 5.6 is a great framework for building embedded GUI
applications, so when Qt 5.6 was released it was natural to
bring it up on the Raspberry Pi. The current Qt support in ports is
very Xorg-centric, so as a proof of concept I created an
experimental <tt>qt56-base</tt> and <tt>qt56-multimedia</tt>.</p>
<p><tt>qt56-base</tt> can be configured for a generic ARM device with the
<tt>scfb</tt> video driver, and specifically for Raspberry Pi in which
case it supports EGLFS mode with hardware OpenGL
acceleration.</p>
<h3>Open tasks:</h3><ol><li>
<p>Check how embedded use cases can be fit into the current
<tt>bsd.qt.mk</tt> or whether a new port should be
introduced.</p>
</li></ol><hr /><h2><a name="The-FreeBSD-Foundation" href="#The-FreeBSD-Foundation" id="The-FreeBSD-Foundation">The FreeBSD Foundation</a></h2><table title="Links" style="white-space: nowrap;"><tr><td>Links</td></tr><tr><td><a href="https://www.freebsdfoundation.org/" title="https://www.freebsdfoundation.org/">FreeBSD Foundation Site</a></td><td>
URL: <a href="https://www.freebsdfoundation.org/" title="FreeBSD Foundation Site">https://www.freebsdfoundation.org/</a></td></tr><tr><td><a href="https://www.freebsdfoundation.org/donors/" title="https://www.freebsdfoundation.org/donors/">Donors</a></td><td>
URL: <a href="https://www.freebsdfoundation.org/donors/" title="Donors">https://www.freebsdfoundation.org/donors/</a></td></tr><tr><td><a href="https://www.freebsdfoundation.org/what-we-do/education-advocacy/" title="https://www.freebsdfoundation.org/what-we-do/education-advocacy/">Education and Advocacy Materials</a></td><td>
URL: <a href="https://www.freebsdfoundation.org/what-we-do/education-advocacy/" title="Education and Advocacy Materials">https://www.freebsdfoundation.org/what-we-do/education-advocacy/</a></td></tr><tr><td><a href="https://www.freebsdfoundation.org/blog/faces-of-freebsd-2016-scott-long/" title="https://www.freebsdfoundation.org/blog/faces-of-freebsd-2016-scott-long/">Faces of FreeBSD: Scott Long</a></td><td>
URL: <a href="https://www.freebsdfoundation.org/blog/faces-of-freebsd-2016-scott-long/" title="Faces of FreeBSD: Scott Long">https://www.freebsdfoundation.org/blog/faces-of-freebsd-2016-scott-long/</a></td></tr><tr><td><a href="https://www.freebsdfoundation.org/blog/faces-of-freebsd-2016-sean-bruno/" title="https://www.freebsdfoundation.org/blog/faces-of-freebsd-2016-sean-bruno/">Faces of FreeBSD: Sean Bruno</a></td><td>
URL: <a href="https://www.freebsdfoundation.org/blog/faces-of-freebsd-2016-sean-bruno/" title="Faces of FreeBSD: Sean Bruno">https://www.freebsdfoundation.org/blog/faces-of-freebsd-2016-sean-bruno/</a></td></tr><tr><td><a href="https://www.freebsdfoundation.org/blog/freebsd-and-zfs/" title="https://www.freebsdfoundation.org/blog/freebsd-and-zfs/">The Longstanding Relationship Between FreeBSD and ZFS</a></td><td>
URL: <a href="https://www.freebsdfoundation.org/blog/freebsd-and-zfs/" title="The Longstanding Relationship Between FreeBSD and ZFS">https://www.freebsdfoundation.org/blog/freebsd-and-zfs/</a></td></tr><tr><td><a href="https://www.freebsdfoundation.org/blog/initial-freebsd-risc-v-architecture-port-committed/" title="https://www.freebsdfoundation.org/blog/initial-freebsd-risc-v-architecture-port-committed/">FreeBSD RISC-V Work</a></td><td>
URL: <a href="https://www.freebsdfoundation.org/blog/initial-freebsd-risc-v-architecture-port-committed/" title="FreeBSD RISC-V Work">https://www.freebsdfoundation.org/blog/initial-freebsd-risc-v-architecture-port-committed/</a></td></tr><tr><td><a href="http://www.mellanox.com/page/press_release_item?id=1688" title="http://www.mellanox.com/page/press_release_item?id=1688">Mellanox's Work with NetFlix</a></td><td>
URL: <a href="http://www.mellanox.com/page/press_release_item?id=1688" title="Mellanox's Work with NetFlix">http://www.mellanox.com/page/press_release_item?id=1688</a></td></tr><tr><td><a href="https://chemnitzer.linux-tage.de/2016/de/programm/beitrag/194" title="https://chemnitzer.linux-tage.de/2016/de/programm/beitrag/194">FreeBSD – The Power to Serve a Community</a></td><td>
URL: <a href="https://chemnitzer.linux-tage.de/2016/de/programm/beitrag/194" title="FreeBSD – The Power to Serve a Community">https://chemnitzer.linux-tage.de/2016/de/programm/beitrag/194</a></td></tr><tr><td><a href="https://www.freebsdfoundation.org/blog/introducing-a-new-look-for-the-foundation/" title="https://www.freebsdfoundation.org/blog/introducing-a-new-look-for-the-foundation/">The FreeBSD Foundation's New Look</a></td><td>
URL: <a href="https://www.freebsdfoundation.org/blog/introducing-a-new-look-for-the-foundation/" title="The FreeBSD Foundation's New Look">https://www.freebsdfoundation.org/blog/introducing-a-new-look-for-the-foundation/</a></td></tr></table><p>
Contact:
Deb
Goodkin
<<a href="mailto:deb@FreeBSDFoundation.org">deb@FreeBSDFoundation.org</a>>
</p>
<p>The FreeBSD Foundation is a 501(c)(3) non-profit organization
dedicated to supporting and promoting the FreeBSD Project and
community worldwide. Funding comes from individual and
corporate donations and is used to fund and manage development
projects, conferences and developer summits, and provide
travel grants to FreeBSD developers. The Foundation purchases
hardware to improve and maintain FreeBSD infrastructure and
publishes FreeBSD white papers and marketing material to
promote, educate, and advocate for the FreeBSD Project. The
Foundation also represents the FreeBSD Project in executing
contracts, license agreements, and other legal arrangements
that require a recognized legal entity.</p>
<p>Here are some highlights of what we did to help FreeBSD last
quarter:</p>
<p>Fundraising Efforts</p>
<p>We raised $204,000 last quarter from individual and corporate
donors. Thank you to everyone who made a donation this year!
The
<a href="https://www.freebsdfoundation.org/donors/" shape="rect">list of donors</a>
is available.</p>
<p>OS Improvements</p>
<p>The Foundation improves FreeBSD by funding software
development projects approved through our proposal submission
process, and our three software developer staff members. Two
Foundation-funded projects were started last quarter, the
first to improve the stability of the vnet network stack
virtualization infrastructure, and the second for phase two of
the FreeBSD/arm64 port project.</p>
<p>Foundation staff members were responsible for many changes
over the quarter. Some notable items include process-shared
pthread locks, address mapping randomization, disk I/O
bandwidth limits, porting <tt>libunwind</tt> to FreeBSD/arm,
bug fixes in the <tt>autofs</tt> automount daemon, an updated
version of the ELF Tool Chain, investigation of the
<tt>lld</tt> linker, improved x86 hardware support, and VM
subsystem stability improvements. Several of these projects
are described elsewhere in this quarterly report.</p>
<p>Release Engineering</p>
<p>Foundation employee and release engineer Glen Barber worked
on packaging the base system with <tt>pkg(8)</tt>, separating
debug files from the default base system so they can be
selected or deselected during an install, supporting
preparations, testing for the on-time release of FreeBSD
10.3, and producing 11-CURRENT and 10-STABLE snapshot
builds.</p>
<p>FreeBSD Advocacy</p>
<p>Anne Dickison, our Marketing Director, focused on creating
and updating marketing material to promote and teach people
about FreeBSD.
<a href="https://www.freebsdfoundation.org/what-we-do/education-advocacy/" shape="rect">This material is available</a>
for FreeBSD advocates to hand out at conferences and events to
promote FreeBSD. She also worked on promoting FreeBSD work
being done over social media, blog posts, and articles.</p>
<p>Last quarter, we continued our Faces of FreeBSD series by
publishing stories about
<a href="https://www.freebsdfoundation.org/blog/faces-of-freebsd-2016-scott-long/" shape="rect">Scott Long</a>
and
<a href="https://www.freebsdfoundation.org/blog/faces-of-freebsd-2016-sean-bruno/" shape="rect">Sean Bruno</a>.
This is an opportunity to put a face to a name in the FreeBSD
community and get to know more about the people who
contribute to FreeBSD.</p>
<p>Work began on updating the FreeBSD 10.X brochure to
include the new 10.3 features.</p>
<p>We love getting stories from companies who are successfully
using FreeBSD. Testimonials were received last quarter from
Chelsio and Acceleration Systems.</p>
<p>ZFS was making some headlines, so we wrote a blog entry on
<a href="https://www.freebsdfoundation.org/blog/freebsd-and-zfs/" shape="rect">the
longstanding relationship between FreeBSD and ZFS</a>.</p>
<p>We helped promote
<a href="https://www.freebsdfoundation.org/blog/initial-freebsd-risc-v-architecture-port-committed/" shape="rect">the
FreeBSD RISC-V</a> work being done.</p>
<p>Assistance was provided to Mellanox for their press release
highlighting
<a href="http://www.mellanox.com/page/press_release_item?id=1688" shape="rect">their work with NetFlix</a>.</p>
<p>Conferences and Events</p>
<p>The FreeBSD Foundation sponsors many conferences, events, and
summits around the globe. These events can be BSD-related,
open source, or technology events geared towards
underrepresented groups. We provide financial support to the
major BSD conferences like BSDCan, AsiaBSDCon, and EuroBSDCon,
and give financial and/or other support for smaller events
like BSDDays, FreeBSD Summits, and FreeBSD workshops, camps,
and hackathons. For open source conferences, we will attend
when we can get a free non-profit booth.</p>
<p>The year kicked off with sending Ed Maste, Benedict
Reuschling, and George Neville-Neil to promote and give talks
on FreeBSD at FOSDEM, the largest open source conference in
Europe. Ed, our Project Development Director, had a chance to
talk to developers from other projects based on FreeBSD, and
various people about reproducible builds in FreeBSD.</p>
<p>Dru Lavigne and Deb Goodkin promoted FreeBSD at SCALE in
Pasadena, California. Dru gave a presentation called "Doc
Like an Egyptian." We were a Gold Sponsor for AsiaBSDCon in
Tokyo, and five Foundation members attended. Kirk McKusick
taught a two-day FreeBSD Kernel tutorial and gave a talk on
the history of the BSD filesystem. Dru Lavigne and Benedict
Reuschling gave a documentation tutorial. Board members
Hiroki Sato and George Neville-Neil helped organize the
conference. BSDnow.tv interviewed Benedict at AsiaBSDCon
about his role as a new Foundation board member and the
Foundation's work.</p>
<p>We planned and organized our first-ever FreeBSD Storage
Summit in association with the USENIX FAST Conference. Led by
our President and Founder, Justin Gibbs, we had over 50
attendees participating and working together on technically
focused topics. Benedict was busy promoting FreeBSD in
Europe, where he also attended Linuxtage in Chemnitz, Germany
to give a talk on FreeBSD (in German):
<a href="https://chemnitzer.linux-tage.de/2016/de/programm/beitrag/194" shape="rect">FreeBSD — The Power to Serve a Community</a>.</p>
<p>The Foundation committed to being a Gold Sponsor for BSDCan
and the upcoming Hackathon/DevSummit in Essen, Germany in
April.</p>
<p>Legal/FreeBSD IP</p>
<p>The Foundation owns the FreeBSD trademarks, and it is our
responsibility to protect them. We continued to review
requests for permission to use the trademarks.</p>
<p>FreeBSD Community Engagement</p>
<p>Code of Conduct — Anne Dickison, our Marketing Director, has
been overseeing the efforts to rewrite the Project's Code of
Conduct to help make this a safe, inclusive, and welcoming
community.</p>
<p>We have been reaching out to other open source communities to
get help with our efforts in making this a diverse community
and help us achieve our goals mentioned above of making the
FreeBSD community safe, inclusive, and welcoming.</p>
<p>Continuing with our diversity efforts, we have been
connecting with women in technology groups to work on how we
can recruit more women to FreeBSD and offer Intro to FreeBSD
workshops.</p>
<p>Meetings were held with a number of commercial vendors to
help facilitate collaboration with the Project. This included
presenting how the Project is organized, and how companies can
get help, contribute back to the Project, promote their use of
FreeBSD, and for us to get their feedback on the work we are
doing to help with our fundraising efforts.</p>
<p>The new Foundation website and logo was launched, signaling
the ongoing evolution of the Foundation identity and ability
to better serve the FreeBSD Project and community. Find our
more about our
<a href="https://www.freebsdfoundation.org/blog/introducing-a-new-look-for-the-foundation/" shape="rect">new look</a>.</p>
<hr /><a href="../news.html">News Home</a> | <a href="status.html">Status Home</a></div>
<br class="clearboth" />
</div>
<div id="footer">
<span><a href="../../search/index-site.html">Site Map</a> |
<a href="../../copyright/">Legal Notices</a> | © 1995–2021 The FreeBSD Project.
All rights reserved.</span>
<br />
</div>
</div>
</div>
</body>
</html>
|