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
horain怎么样?horain cloud是一家2019年成立的国人主机商家,隶属于北京辰帆科技有限公司,horain持有增值电信业务经营许可证(B1-20203595),与中国电信天翼云、腾讯云、华为云、UCloud、AWS等签署渠道合作协议,主要提企业和个人提供云服务器,目前商家推出了几款特价物理机,都是在内地,性价比不错,其中有目前性能比较强悍的AMD+NVMe系列。点击进入:horain...
如果我们较早关注NameCheap商家的朋友应该记得前几年商家黑色星期五和网络星期一的时候大促采用的闪购活动,每一个小时轮番变化一次促销活动而且限量的。那时候会导致拥挤官网打不开迟缓的问题。从去年开始,包括今年,NameCheap商家比较直接的告诉你黑色星期五和网络星期一为期6天的活动。没有给你限量的活动,只有限时六天,这个是到11月29日。如果我们有需要新注册、转入域名的可以参加,优惠力度还是比...
paypal贝宝可撸$10的代金券!这两天paypal出了活动,本次并没有其他的限制,只要注册国区的paypal,使用国内的手机号和62开头的银联卡,就可以获得10美元的代金券,这个代金券购买产品需要大于10.1美元,站长给大家推荐几个方式,可以白嫖一年的VPS,有需要的朋友可以看看比较简单。PayPal送10美元活动:点击直达活动sfz与绑定卡的号码可以重复用 注册的邮箱,手机号与绑的银联卡必须...
www.ccc64.com为你推荐
硬盘工作原理硬盘是如何工作的中老铁路中长铁路的铁路的新中国历史firetrap牛仔裤的四大品牌是那几个啊?www.522av.com现在怎样在手机上看AVwww.44ri.comwww.yydcsjw.comwww.kanav001.com翻译为日文: 主人,请你收养我一天吧. 带上罗马音标会更好wwwwww.bbb551.com100bbb网站怎样上不去了www.175qq.com请帮我设计个网名www.1diaocha.com手机网赚是真的吗朴容熙这个人男的女的,哪国人。叫什么。
查询域名 omnis 抢票工具 2017年黑色星期五 绍兴高防 dd444 中国电信测速112 数字域名 微信收钱 韩国名字大全 老左正传 服务器是干什么的 服务器干什么用的 太原网通测速平台 gtt 卡巴斯基破解版 t云 域名与空间 东莞服务器托管 ledlamp 更多