ELCEurope2018GengyourpatchesintomainlineLinuxWhatnottodo(andafewthingsyoucouldtryinstead)MarcZyngierOctober22,20182018ArmLimitedOpeningcreditsBeenmessingwiththeLinuxkernelsince1993PleaseblameStéphaneEranian.
.
.
Firstpatchesmergedin1996(mddriver)Don'temailmeifyourdiskarraygetscorrupted.
.
.
Ooadedmaintainershipin1997WithARMsince2010Tryingtobridgearchitecture,hardware,andobviouslyLinuxLookingaerKVM/armtogetherwithChristoerDallIRQsubsystemtogetherwithThomasGleixner22018ArmLimitedDisclaimerThisisn'tamaintainerrant!
ThistalkisforEVERYONE!
DoesnotonlyapplytorstmecontributorsThereissomethingforlongmehackersaswell!
NotallmaintainerswillagreewithmeIfyougetamedfordoinganyofthis,sendthemmyway!
32018ArmLimitedRecurrentthemesThereisabitofadisconnectbetweencontributorsandmaintainers:42018ArmLimitedRecurrentthemesThereisabitofadisconnectbetweencontributorsandmaintainers:"Mypatchesarebeingignored"42018ArmLimitedRecurrentthemesThereisabitofadisconnectbetweencontributorsandmaintainers:"Mypatchesarebeingignored""Ihavepostedthesepatches4mes,andtheyaresllnotmerged"42018ArmLimitedRecurrentthemesThereisabitofadisconnectbetweencontributorsandmaintainers:"Mypatchesarebeingignored""Ihavepostedthesepatches4mes,andtheyaresllnotmerged""I'vecopiedthiscodefromamainlinedriver,andyou'retellingmeitisn'tright"42018ArmLimitedRecurrentthemesThereisabitofadisconnectbetweencontributorsandmaintainers:"Mypatchesarebeingignored""Ihavepostedthesepatches4mes,andtheyaresllnotmerged""I'vecopiedthiscodefromamainlinedriver,andyou'retellingmeitisn'tright""Ionlywantthiscodemerged,Idon'thavethemetodoallthisextrawork"42018ArmLimitedRecurrentthemesThereisabitofadisconnectbetweencontributorsandmaintainers:"Mypatchesarebeingignored""Ihavepostedthesepatches4mes,andtheyaresllnotmerged""I'vecopiedthiscodefromamainlinedriver,andyou'retellingmeitisn'tright""Ionlywantthiscodemerged,Idon'thavethemetodoallthisextrawork""ButI'mgivingyouthiscodeforfree,whyaren'tyoujusttakingit"42018ArmLimitedRecurrentthemesThereisabitofadisconnectbetweencontributorsandmaintainers:"Mypatchesarebeingignored""Ihavepostedthesepatches4mes,andtheyaresllnotmerged""I'vecopiedthiscodefromamainlinedriver,andyou'retellingmeitisn'tright""Ionlywantthiscodemerged,Idon'thavethemetodoallthisextrawork""ButI'mgivingyouthiscodeforfree,whyaren'tyoujusttakingit""Idon'thavethemetounderstandthis,justtellmewhatIshouldwrite"42018ArmLimitedThecharacters52018ArmLimitedTheContributorSubmitsachangetothemainlinekernelsourceIntendstogetitmergedeventuallyCanbeanewfeatureabugxcodecleanupComplexityofthechangesrangesfromtrivialtobrain-melngThecontributorisoentheonewhounderstandstheproblembest62018ArmLimitedTheReviewerCanbedisnctfromthemaintainerOenothercontributorsSpreadstheload,sothatmaintainersdoscaleProbablytheleastrecognised,andyetoneofthemostimportantcharactersinthisstory72018ArmLimitedTheMaintainerThemaintainersareresponsibleforsomepieceofcodeinthekernel:nottobreaktobesecurereadable,understandableUlmatelytheoneswhoputtheirneckonthelineSpendanawfullotofmereviewingotherpeople'scodeOenthetargetofhundredsofemailsaday82018ArmLimitedMovaonsThesecharactershavequiteafewthingsincommon:Meengatasinglepointofcontenon:thecodeTryingtosolvedicultproblemsIndividualresponsibility,personalinvestmentVeryoennottheirmainjobQuiteoenacontributorgrowsintoareviewer,andthenamaintainer92018ArmLimitedTheplot102018ArmLimitedThekernelsubmissionworkowYouhavewrienpatchesforawickedidea:PostapatchseriesGetitreviewedRespondtocommentsRinse,repeatLookssimple,butthereisalotbehindthis.
112018ArmLimitedThekernelsubmissionworkowYouhavewrienpatchesforawickedidea:PostapatchseriesGetitreviewedRespondtocommentsRinse,repeatLookssimple,butthereisalotbehindthis.
Whatisthat"patchseries"thingWhodoIsendittoHowdoIgetitreviewedIdon'tunderstandthesecommentsandotherrequests.
.
.
112018ArmLimitedThekernelsubmissionworkowYouhavewrienpatchesforawickedidea:PostapatchseriesGetitreviewedRespondtocommentsRinse,repeatLookssimple,butthereisalotbehindthis.
Whatisthat"patchseries"thingWhodoIsendittoHowdoIgetitreviewedIdon'tunderstandthesecommentsandotherrequestsCanbeoverwhelming112018ArmLimitedWhatisapatchseriesItisanorderedsetofpatchesItisconceptuallyasinglechangeSplitintomulplepatchesSplingpatchesisahardtopicNothinginthekernelbreaksatanypointinthemiddleoftheseriesWehavealimitedcapacitytoprocesshugechangesinonego122018ArmLimitedWhatdoesapatchserieslooklikeEachpatchhasatleandaclearcommitmessageEachpatchisnumberedx/n(patchnumberxoutofn)Wherexisunique,nisconstantacrosstheseries,andx<=nIthasauniqueversionnumberforthewholeseriesDonotpostaserieswiththesameversionnumbertwice!
Ithasacoverleer,numbered0/nUsuallyonlyifthereismorethanasinglepatchThecoverleerdescribethegoaloftheseriesandcontainsachangelogItcontainsadi-statofthewholeseriesAllthepatchesintheseriesareinreplytothecoverleer132018ArmLimitedWhytheserequirementsFromamaintainerorreviewerpointofview,theserequirementsarecrucial:Ordered:AllowsthereviewertoseeaprogressioninthedesignNeededforbiseconLogicalchanges:MulplethingschangingatoncemakethingshardtoreviewPatchnumbering:AmImissinganypatchinthisseriesHelpswiththeordering/threadinginanemailclientVersionnumbering:IsthissomethingnewOrhasitbeenreviewedalreadyDon'treplywithasinglepatchwithanewversionnumberCoverleer:SoyouknowwhatchangedfromonerevisiontoanotherMakesurealltherecipientsoftheseriesreceivethecoverleerAchancetohavingaconversaonwiththemaintainers142018ArmLimitedPatchseries:Don'tdothatIfyou'reabouttosendsomethingthatmayenduplookinglikethis:(Mon)18:58[Anonymous]RESEND[PATCHv510/12]arm64:vdso:replacegettimeofday.
Swithglobalvgettimeofday.
C(Mon)18:58[Anonymous]RESEND[PATCHv31/3]arm64:compat:Splitthesigreturntrampolinesandkuserhelpers(Csources)(Mon)18:58[Anonymous]RESEND[PATCHv32/3]arm64:compat:Splitthesigreturntrampolinesandkuserhelpers(assembler.
.
.
(Mon)18:58[Anonymous]RESEND[PATCHv33/3]arm64:compat:AddCONFIG_KUSER_HELPERS(Mon)18:58[Anonymous]RESEND[PATCH]arm64:compat:Exposeoffsettoregistersinsigframes(Mon)18:58[Anonymous]RESEND[PATCHv26/6]arm64:WireupandexposethenewcompatvDSO.
.
.
pleasedon't.
TryingtomakesenseofthisseriesisjusttoohardProbablymissingonsomeverygoodcodeThisisanetlossforthekernel152018ArmLimitedUsethetools,Lukegitisreallytheonlytoolyouneedandthereisnolifeworthlivingoutsideofgit.
.
.
AlthoughyoucanusesometoolontopofgititselfButreally,youdon'tneedthatDonotsendpatchseriesbyhand.
Ever.
One-oconguraon:ConguregitasanemailclientSetsendmail.
tocover=1,sendmail.
cccover=1in~/.
gitconfigForeachseriesyouwanttosend:Idenfytherecipientsforthisseries.
Usescripts/get_maintainers.
plgitformat-patch-opatches/blah-v3--cover-letterv4.
19.
.
HEADEditpatches/blah/v3-0000-cover-letter.
patch,addingtherecipientsinyourcoverleergitsend-email--dry-runpatches/blah/v3-*patchIfitlooksgood,dropthe--dry-runandletitroll162018ArmLimitedUsingemailPleaseusethecanonicalemailequeewhenposngorresponding:Plaintextemailonly,noHTMLReplyinline,nottop-posngAvoidaachementsifatallpossibleNosillydisclaimer(thisisapublicmailinglist!
)CcpeoplewhenitmaersKeeptheCclistshortTrimtheemailyou'rerespondingtotheessenalcontext172018ArmLimitedDigression:whyemail"Whydoyouusethissillyoutdatedtechnologyinsteadof[web-thing-of-the-week]"Well,emailis:Mul-plaormArchivedAvailableoineNotinteracveDistributedEasytointegratewithgitandCIGengridofemailwouldrequireanewsystemtosasfytheseproperes.
Ofcourse,quiteafeworganisaoncannotdoemailproperly.
.
.
That'savalidconcernAlotofpeopleareusingtheirpersonalemailforthisELCtalkideafornextyear:SMTPinaXXXXhoslecorporateenvironment182018ArmLimitedOfreviewersandbandwidthYou'vepostedapatchseriestwodaysagoandquicklyreceivedsomecommentsYou'vequicklyaddressedthose,collectedalltheAcksandreviewtags.
.
.
andnoweagerpostanewversionNowtakeadeepbreath.
Giveachancetootherreviewerstocatchupwithyourwork.
Posngtoooenisusuallycounter-producveOnlyresultsinaDoSonthereviewer(youdon'twantthat)Allowaboutaweekbetweeneachversion,unlessaskedforanimmediaterespinRememberhowlongittookyoutowritethesepatchesReviewingthemwon'tbeanyquicker192018ArmLimitedScreenplay202018ArmLimitedThemaintainer/reviewerworkowIsitsomethingI'minterestedinormaintainDoesthepatchseriesmakesenseIsthereanyreportedfailureFixorfeaturePriorisaonEachmaintainerorreviewerhasspecicrequirementsNosuchthingasOneSieFitsAll212018ArmLimitedThemaintainer/reviewerworkowIsitsomethingI'minterestedinormaintainDoesthepatchseriesmakesenseIsthereanyreportedfailureFixorfeaturePriorisaonEachmaintainerorreviewerhasspecicrequirementsNosuchthingasOneSieFitsAllButthereissomethingthatinuencestheabove:TrustThisishowwerecognisecontributorsandreviewersMostoenpeoplewhogotheextramileWhenareviewerormaintainerasksforsomeextraworkonapatchseriesItisnottoannoythecontributorItistoimprovetheoverallqualityofthekernelitselfEventuallytobuildtrustbetweenthetwopares212018ArmLimitedWhytrustThisishowtheoverallpatchmergingmodelworks.
Thereistrustbetween:Linusandthetop-levelmaintainerstoplevelmaintainersandtheirsub-maintainersco-maintainersofasinglesubsystemIntheend,thistrustisjustasimportantasthecode.
Asowareprojectthatdoesn'tencouragecontribuonsdiesOneofmaintainers'roleistoretainthebestcontributorsWealwaysneednewreviewersandco-maintainersThebestcontribuonsbenetthelargestpartofthecommunityThisrequiresinvolvementofallpares222018ArmLimitedBuildingtrustAmaintainerorreviewercanaskyoutodosomeaddionalwork:ProvideabeerinfrastructureRefactorcodetolimitduplicaonMovebitsofafeaturetocorecodeTrytostepawayfromyourowncodeforawhile.
.
.
SeehowthisrequesttsintotheoverallkernelIftherequestisunclear,askforclaricaon!
Ifyouthinkthisisn'tjused,trytocomeupwithyourownproposalThemaintainerisnotalwaysright,givethemanalternaveperspecveBecomethetrustedmaintainerofyourowncode!
232018ArmLimitedDigression:Drive-bypatchingOne-ocontribuonsContributornevertobeseenagainSomemesthekernelequivalentof"y-pping"Seetheabove"usttakeitalready"WedonotwanttodiscouragethisAnumberofbugxescomefromthoseone-osSomeotherarejustabunchofunmaintainablechangesWe'dalsoliketoconvincethesepeopletosckaround.
.
.
Aerall,weallstartedwiththisrstpatch.
.
.
ItisunclearhowwecanincenvisethesecontributorstoLookforanotherissuetoxHaveamoreconnuedengagementwiththekernelcommunity242018ArmLimitedBecomingareviewerOneofbestwaytoimproveyourkernel-fooistoreviewpatchesPicksomethingyou'reinterestedinYoudon'thavetobeanexpertinthedomainYoujustneedtobeabletofollowthecodeIfsomethingseemsunclear,askquesons!
Ifyouspotaproblem,sayso!
Ifyou'resasedwiththewaythecodelooks:Oponallyprovidea"Reviewed-by"Rememberthatyou'rereviewing"tothebestofyourability"Evenifyou'renotprovidingatag,yourinputisvaluable252018ArmLimitedBeyourrstreviewerBeforeyou'reabouttosendapatchseries:ReadyourownpatchesImeanit!
Really!
ThisisthebestwaytocatchbasicmistakesPutyourselfinthereviewer'sshoesDoesthiscodemakesenseIsitsplitinacoherentwayIsitcommented,documentedwellenoughHaveyoutakenallthereviewitemsintoaccountHaveyoucollectedalltheAcked-by:andReviewed-by:tagsIfyou'veanswered"yes"toalltheabove,shipit!
262018ArmLimitedClosingcommentsContribungtotheLinuxkernelisbothtoughandrewardingWearealltryingtoworktogetheronchangingsomepartofacode-baseUnderstandingeachother'spointofviewiskey–butcanbereallyhardBuildingaleveloftrustandunderstandingmakeseverythingeasierWehavetoolsandprocessesforgoodreasons–wearenotjusttryingtobedicult.
Honestly.
Askmeanythingifyou'reindoubt.
Pleasetrustmetobefriendly.
272018ArmLimitedThankyouTheArmtrademarksfeaturedinthispresentaonareregisteredtrademarksortrademarksofArmLimited(oritssubsidiaries)intheUSand/orelsewhere.
Allrightsreserved.
Allothermarksfeaturedmaybetrademarksoftheirrespecveowners.
www.
arm.
com/company/policies/trademarks2018ArmLimited
spinservers是Majestic Hosting Solutions LLC旗下站点,主要提供国外服务器租用和Hybrid Dedicated等产品的商家,数据中心包括美国达拉斯和圣何塞机房,机器一般10Gbps端口带宽,高配置硬件,支持使用PayPal、信用卡、支付宝或者微信等付款方式。目前,商家针对部分服务器提供优惠码,优惠后达拉斯机房服务器最低每月89美元起,圣何塞机房服务器最低每月...
ttcloud怎么样?ttcloud是一家海外服务器厂商,运营服务器已经有10年时间,公司注册地址在香港地区,业务范围包括服务器托管,机柜托管,独立服务器等在内的多种服务。我们后台工单支持英文和中文服务。TTcloud最近推出了新上架的日本独立服务器促销活动,价格 $70/月起,季付送10Mbps带宽。也可以跟进客户的需求进行各种DIY定制。点击进入:ttcloud官方网站地址TTcloud拥有自...
近日CloudCone商家对旗下的大硬盘VPS云服务器进行了少量库存补货,也是悄悄推送了一批便宜VPS云服务器产品,此前较受欢迎的特价20美元/年、1核心1G内存1Gbps带宽的VPS云服务器也有少量库存,有需要美国便宜大硬盘VPS云服务器的朋友可以关注一下。CloudCone怎么样?CloudCone服务器好不好?CloudCone值不值得购买?CloudCone是一家成立于2017年的美国服务...
www.ccc64.com为你推荐
今日油条联通大王卡看今日头条免流量吗?lunwenjiance我写的论文,检测相似度是21.63%,删掉参考文献后就只有6.3%,这是为什么?杰景新特美国杰尼.巴尼特的资料xyq.163.cbg.com梦幻西游藏宝阁罗伦佐娜手上鸡皮肤怎么办,维洛娜毛周角化修复液haole10.comwww.qq10eu.in是QQ网站吗www.175qq.com最炫的qq分组pp43.com登录www.bdnpxzl.com怎么进入网站后台啊bihaiyinsha谁知道长葛洗浴中心如何消费?ww.43994399在线单机小游戏
日本vps 香港新世界电讯 私有云存储 地址大全 美国十次啦服务器 dux 免费测手机号 重庆双线服务器托管 免费的asp空间 个人免费邮箱 lamp是什么意思 netvigator 汤博乐 cdn加速 最新优惠 e-mail asp.net虚拟主机 西部数码主机 neicun vim命令 更多