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
麻花云怎么样?麻花云公司成立于2007年,当前主打产品为安徽移动BGP线路,数据中心连入移动骨干网。提供5M,10M大带宽云主机,香港云服务器产品,数据中心为香港将军澳机房,香港宽频机房 cn2-GIA优质线路、采用HYPER-V,KVM虚拟技术架构一、麻花云官网点击直达麻花云官方网站合肥网联网络科技有限公司优惠码: 专属优惠码:F1B07B 享受85折优惠。最新活动 :双11 云上嗨购 香港云主...
BuyVM在昨天宣布上线了第四个数据中心产品:迈阿密,基于KVM架构的VPS主机,采用AMD Ryzen 3900X CPU,DDR4内存,NVMe硬盘,1Gbps带宽,不限制流量方式,最低$2/月起,支持Linux或者Windows操作系统。这是一家成立于2010年的国外主机商,提供基于KVM架构的VPS产品,数据中心除了新上的迈阿密外还包括美国拉斯维加斯、新泽西和卢森堡等,主机均为1Gbps带...
ProfitServer怎么样?ProfitServer好不好。ProfitServer是一家成立于2003的主机商家,是ITC控股的一个部门,主要经营的产品域名、SSL证书、虚拟主机、VPS和独立服务器,机房有俄罗斯、新加坡、荷兰、美国、保加利亚,VPS采用的是KVM虚拟架构,硬盘采用纯SSD,而且最大的优势是不限制流量,大公司运营,机器比较稳定,数据中心众多。此次ProfitServer正在对...
www.ccc64.com为你推荐
乐划锁屏乐视手机怎么解除屏幕锁网罗设计谁知道怎么做网络设计啊?就是设计名片啊?设计什么的?我想自己亲自做,急!!!易烊千玺弟弟创魔方世界纪录易烊千玺的弟弟楠楠,在TFBOYS三周年牵的那个小女孩是谁?摩拜超15分钟加钱摩拜单车不是按骑行时间收费吗,我怎么只要开锁就要支付一元(而且只骑十几分钟)kaixin.com人人网和开心网互通,可我用的是kaixin001的开心,和kaixin*com不是一个呀!firetrap牛仔裤的四大品牌是那几个啊?嘉兴商标注册个人如何申请商标注册www.299pp.com免费PP电影哪个网站可以看啊5xoy.comhttp://www.5yau.com (舞与伦比),以前是这个地址,后来更新了,很长时间没玩了,谁知道现在的地址? 谢谢,haole10.com空人电影网改网址了?www.10yyy.cn是空人电影网么
simcentric 阿里云浏览器 ftp免费空间 怎么建立邮箱 七夕快乐英语 美国独立日 google台湾 空间登入 重庆电信服务器托管 smtp服务器地址 登陆qq空间 新疆服务器 时间服务器 web服务器 so域名 rsync neobux kosskeb4 kosskeb79 56折扣网 更多