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
cyun怎么样?cyun蓝米数据是一家(香港)藍米數據有限公司旗下品牌,蓝米云、蓝米主机等同属于该公司品牌。CYUN全系列云产品采用KVM架构,SSD磁盘阵列,优化线路,低延迟,高稳定。目前,cyun推出的香港云服务器性价比超高,香港cn2 gia云服务器,1核1G1M/系统盘+20G数据盘,低至29元/月起;香港多ip站群云服务器,16个ip/4核4G仅220元/月起,希望买香港站群服务器的站长...
ftlcloud(超云)目前正在搞暑假促销,美国圣何塞数据中心的云服务器低至9元/月,系统盘与数据盘分离,支持Windows和Linux,免费防御CC攻击,自带10Gbps的DDoS防御。FTL-超云服务器的主要特色:稳定、安全、弹性、高性能的云端计算服务,快速部署,并且可根据业务需要扩展计算能力,按需付费,节约成本,提高资源的有效利用率。活动地址:https://www.ftlcloud.com...
ucloud6.18推出全球大促活动,针对新老用户(个人/企业)提供云服务器促销产品,其中最低配快杰云服务器月付5元起,中国香港快杰型云服务器月付13元起,最高可购3年,有AMD/Intel系列。当然这都是针对新用户的优惠。注意,UCloud全球有31个数据中心,29条专线,覆盖五大洲,基本上你想要的都能找到。注意:以上ucloud 618优惠都是新用户专享,老用户就随便看看!点击进入:uclou...
www.ccc64.com为你推荐
微盟赔付方案什么是“N+1”的赔偿方法?摩根币摩根币是什么意思?kaixin.com开心网。www.kaixin.com是什么时间出来的。www.522av.com在白虎网站bhwz.com看电影要安装什么播放器?www.228gg.comwww.a8tb.com这个网站该如何改善www.33xj.compro/engineer 在哪里下载,为什么找不到下载网站?www.5any.com我想去重庆上大学www.zhiboba.com登录哪个网站可以看nba当天的直播 是直播www.ijinshan.com在电脑看港台电视台那个网站最好而又不用钱速度又快yinrentangWeichentang正品怎么样,谁知道?
新加坡虚拟主机 汉邦高科域名申请 3322动态域名 payoneer win8.1企业版升级win10 建站代码 bgp双线 网站cdn加速 域名转入 睿云 沈阳idc godaddyssl 标准机柜 screen 海尔t68g 大硬盘补丁 次世代主机 宿主机 ftp服务器是什么 彩虹云点播不能用了 更多