Hvis man rent faktisk kigger paa hvad der er lavet, saa drejer det sig primaert om at faa ryddet nok op til at rykke deres HV driver ud af staging traeet. Havde de lavet det ordentligt fra starten af, saa var de aldrig havnet i kernel pendanten til 'hall of shame' og zdnet havde ingen historie ha...
At overskrive det logiske addresserum (det du angiver med sektorer fra operativ systemet) er ingen garanti for at det fysiske medie er overskrevet også. Alle SSD diske har overprovisionering af flash for at undgå for store performance dyk når det logiske adresserum er ved at være fyldt op. Desude...
Men et "fejlfindingstool" er det vist ikke. Compiler warnings fungerer fint til at finde fejlagtige funktionsargumenter.
Det er ikke kun brugt til at finde og ændre argumenter til funktioner, det er også flittigt brugt til at finde feks glemte unlocks, dobbelte locks, forkert allokerings...
DATA SET MANAGEMENT/TRIM er en ATA kommando. Der er ikke en 100% tilsvarende kommando i SCSI, men WRITE SAME med UNMAP bitten sat kan bruges i en håndevending. Det er sådan vi har valgt at implementere det i Linux, der ligesom et USB drev har ATA-enheder siddende bag en SCSI-grænseflade.
Men om ...
jo evt høre ham, hvorfor der aldrig skete mere i sagen efter den første posting af koden. Normal kotume er at følge op med rettelser indtil koden integreres. Desværre kan jeg ikke selv deltage, ellers skulle jeg da gerne spørge :-)
Så indtil videre har jeg ingen grund til at se sagen som meget a...
Right, men hvis vi skal lave en direkte sammenligning mellem forholdet på beskatningen så ....for nu at blive i bilmetaforen ... vil det svare til at beskatningen af firmabilen er så hård at man kunne købe en ny privat bil for de samme penge.
Det kan du da også sagtens, bare du vælger en lidt mi...
Din arbejdsgiver ville nok også være betænkelig ved at give dig "administrator" ret på din firmabil, men det stopper jo ikke Skat i at lade dig betale for brugsretten alligevel.
Alle de nævnte operativsystemer kan overlappe operationerne. Typisk er submission siden væsentligt tungere end completion siden, så det er usandsynligt at regne med at OS 'X' kan starte en ny operation på 1/6 af tiden for en isoleret.
Om du kan parallellisere IO afhænger jo selvfølgelig fuldstæn...
4 kilobyte er meget lidt data at lave sådan en test på. Det afgørende er hvor hurtigt man kan flytte større datamængder, og det siger målinger på 4 KB ikke umiddelbart noget om. Vi ved ikke hvor meget af de 50/164 µs der kan overlappes med forrige og næste operation -- uden den viden er målingern...
Linux' udviklingsmodel, kodekvalitet og udviklere udtaler jeg mig af princip ikke om, udover at der er gode grunde til at jeg ikke kører Linux.
Jeg kunne jo komme med et lignende lamt angreb mod FreeBSD, men troede virkelig ikke at diskussionen skulle hives ned paa det niveau. Hvis du ikke engan...
Kan du give nogen eksempler og rigtige fejl du har fundet vha den slags statiske analyse tools? I Linux bruger vi feks sparse, som er god til at finde manglende endian conversions, lock acquire/release problemer og andre lignende ting som de statiske tools nu er i stand til. Jeg maa tilstaa at de...
Man skal ikke så meget dokumentere hvad der sker, da det jo er selvforklarende (for det meste).
Derimod skal man forklare hvorfor det sker, altså tanken bag den skrevne kode.
Præcis - dokumenter hensigten, ikke implementation. Som skrevet :-)
Kommentarer kan bestemt være 100% spild af tid, hvis de går helt ned på begynder niveau og kommenterer for loops med
/* loop from 0 to MAX_EVTS */
for (i = 0; i < MAX_EVTS; i++)
men ellers synes jeg bestemt det er rart med kommentarer omkring hensigten af koden, ikke hvordan den er...
Nu er der jo ikke vanvittig stor forskel på strømforbruget, men det ville da være en fordel mht støjniveauet. Desværre er den eneste SSD der er værd at smide penge efter endnu ikke på markedet (Intels X-25M) og desuden ville det nok være lidt fjollet at kaste så mange penge efter en disk til en s...
"Du kan ikke lave effektiv multithreading uden kerne-support. Hvis du skal have kerne-support, er det ikke portabelt mere."
Jeg nævnte ikke noget om at lave sin helt egen thread support, kun locking. Derfor kan du jo sagtens stadig bruge pthreads uden at være afhængig af pthread mutexes...
"Men nu er der jo nogen af os der prøver at skrive portable programmer, og så er pthreads hvad vi har at arbejde med..."
Jamen så skriv da dine egne locking primitiver og inkluder dem. Eller brug pthreads. Jeg ved godt, hvad jeg ville vælge...
"pthread_mutex_trylock()?"
Hvilket også grabber den lock, så den skal releases bagefter. Den kan anvendes i mangel af bedre, men bestemt ikkt optimalt.
"Til decideret fast path kode kan spinnings locks
være et meget bedre alternativ, hvis holdetiden er
kort."
Mnjae, det er så også en sandhed med modifikationer,
en CPU der spinner på en lock er utroligt dyr i
bus-båndbredde.
Nu er du jo igen ude i contended locks. Noegleordet...
Når jeg hører udtryk som 'automatisk frigivning af locks når de ryger ud af scope', så lyder det altid i mine ører som et glimrende måde at hjælpe programmøren med aldrig rigtig at forstå korrekt brug af locking. Ditto rekursive locks. Hvis du ikke har et 100% klart overblik over scope og tagning...
Kommentarer
Oprydning
Re: Slet, og skriv, til den er fuld
Re: Misvisende titel
Smag
Re: God timing
Så kan deltagere
Re: well...
Intet nyt i det
Re: 4 KB er meget lidt
Re: 4 KB er meget lidt
Re: Et alternativ
Re: Et alternativ
Re: Nogen kommentarer er uundværlige
Nogen kommentarer er uundværlige
Re: Hvilken cpu
Re: NPTL og Locks/mutexes.
Re: NPTL og Locks/mutexes.
Re: trylock
Re: NPTL og Locks/mutexes.
Re: thræds