Beta
×

Welcome to the Slashdot Beta site -- learn more here. Use the link in the footer or click here to return to the Classic version of Slashdot.

Thank you!

Before you choose to head back to the Classic look of the site, we'd appreciate it if you share your thoughts on the Beta; your feedback is what drives our ongoing development.

Beta is different and we value you taking the time to try it out. Please take a look at the changes we've made in Beta and  learn more about it. Thanks for reading, and for making the site better!

Ask Slashdot: What's the Most Often-Run Piece of Code -- Ever?

Soulskill posted about 7 months ago | from the and-how-quickly-could-EC2-win-the-crown dept.

Programming 533

Hugo Villeneuve writes "What piece of code, in a non-assembler format, has been run the most often, ever, on this planet? By 'most often,' I mean the highest number of executions, regardless of CPU type. For the code in question, let's set a lower limit of 3 consecutive lines. For example, is it:

  • A UNIX kernel context switch?
  • A SHA2 algorithm for Bitcoin mining on an ASIC?
  • A scientific calculation running on a supercomputer?
  • A 'for-loop' inside on an obscure microcontroller that runs on all GE appliance since the '60s?"

cancel ×

533 comments

Sorry! There are no comments related to the filter you selected.

For / While in C (5, Funny)

Murdoch5 (1563847) | about 7 months ago | (#46001141)

for(;;){
}

OR

while(1){
}

Starts all main control loops and all kernels.

Re:For / While in C (1)

kav2k (1545689) | about 7 months ago | (#46001149)

Fails the 3-line minimum.

Re:For / While in C (5, Funny)

Ragzouken (943900) | about 7 months ago | (#46001169)

for(;;)
{
}

while(1)
{
}

Re:For / While in C (0)

Anonymous Coward | about 7 months ago | (#46001461)

i++;

Re:For / While in C (1)

Murdoch5 (1563847) | about 7 months ago | (#46001259)

Not really, if you do:
for(;;)
{
}

you get 3. I'm sure that has to be the most executed sequence.

Re:For / While in C (0)

Anonymous Coward | about 7 months ago | (#46001165)

Which one does the Linux kernel use?

Re: For / While in C (0)

Anonymous Coward | about 7 months ago | (#46001179)

The network stack driver code.

Re:For / While in C (1)

hcs_$reboot (1536101) | about 7 months ago | (#46001213)

int main(int argc, char **argv) {
...
return 0;
}

Re:For / While in C (1)

Murdoch5 (1563847) | about 7 months ago | (#46001275)

Maybe but most control systems wouldn't make main return int. Best practice in embedded programming is to make main return void, because you use a custom linker.

Re:For / While in C (0)

Anonymous Coward | about 7 months ago | (#46001401)

I have never seen an embedded linker that doesn't follow ANSI C... I feel sorry for you.

Re:For / While in C (1)

Chris Mattern (191822) | about 7 months ago | (#46001411)

That actually breaks the C standard, but I suppose control systems aren't much worried about portability.

Re:For / While in C (1)

Murdoch5 (1563847) | about 7 months ago | (#46001497)

Well the theory is that in a control system main is the only entry to the entire system, so you never have to go anywhere else and hence never return form the entry, so main can be void.

Re:For / While in C (5, Informative)

Dahan (130247) | about 7 months ago | (#46001533)

That actually breaks the C standard, but I suppose control systems aren't much worried about portability.

The ANSI C standard defines two types of implementations: "hosted" and "freestanding". An embedded system would most likely be considered a freestanding implementation, in which case, the entry point function can be whatever the implementation defines it to be. It might not even be named "main" (but if it is, it could return void if that's what the implementation says). That said, C99 allows main() to return void, even in a hosted implementation: 5.1.2.2.1 [coding-guidelines.com] gives "some other implementation-defined manner." as one of the options for main's definition. It notes in 5.1.2.2.3 [coding-guidelines.com] that "If the return type is not compatible with int, the termination status returned to the host environment is unspecified."

Re:For / While in C (1)

someone1234 (830754) | about 7 months ago | (#46001517)

TFA: "let's set a lower limit of 3 consecutive lines."

Re: For / While in C (5, Insightful)

Anonymous Coward | about 7 months ago | (#46001399)

Perhaps a pixel shader in a modern video game on console or PC, executed per pixel at HD resolution, and for hours (average play time) on tens of millions of machines?

Could be approaching 10^20 executions.

Obligatory (5, Insightful)

fisted (2295862) | about 7 months ago | (#46001143)

Every Ask Slashdot gets a comment pointing out that it's the dumbest Ask Slashdot ever, I know.

This time, it's really, really the case.

Re:Obligatory (1)

Anonymous Coward | about 7 months ago | (#46001233)


10 echo "Hello world"
20 post_to_slashdot("First Post!")
30 echo "Goodbye world"
40 if (exists(Hell)) goto Hell
50 else goto /dev/null
60 end

Re:Obligatory (5, Insightful)

Workaphobia (931620) | about 7 months ago | (#46001289)

I disagree. This may be the superlative of something, but I don't think "dumb" is it.

I actually think it's an interesting thought experiment. It immediately forces the reader to think about how pieces of code are used in the real world, both within and beyond their intended application. But it is also likely impossible to settle to anyone's satisfaction. I would trust a proposed answer to this question even less than I would an answer to "What was the size of the internet at the time of the Morris worm", or "How many lines of C code are there in existence".

Just because something's hard to measure doesn't make it dumb, though.

Re:Obligatory (3, Interesting)

foobar bazbot (3352433) | about 7 months ago | (#46001387)

I know this is OT, but

Every Ask Slashdot gets a comment pointing out that it's the dumbest Ask Slashdot ever, I know.

This time, it's really, really the case.

True. But more importantly: I never knew /. let us do nested bold levels!

For anyone too lazy to look at the html source...

I never knew /. let us do <b>nested <b>bold</b> levels!</b>

Bios code? (2)

multimediavt (965608) | about 7 months ago | (#46001145)

I would have to guess some code in BIOS that's pretty much the same on every platform. The POST components for memory checking, for instance. That might actually get disqualified as they may be written in assembler?

Re:Bios code? (2)

chaoskitty (11449) | about 7 months ago | (#46001159)

No. BIOS code only gets run at boot time.

Re:Bios code? (5, Interesting)

Anonymous Coward | about 7 months ago | (#46001201)

I would probably have to say whatever is the inner loop on the system idle process in windows.

Re:Bios code? (0)

Anonymous Coward | about 7 months ago | (#46001299)

I know I'm an AC commenting on an AC, but please mod parent up.

Re:Bios code? (0)

Anonymous Coward | about 7 months ago | (#46001375)

The inner loop is basically:

loop: hlt
jmp loop

Re:Bios code? (4, Informative)

Orp (6583) | about 7 months ago | (#46001499)

I would probably have to say whatever is the inner loop on the system idle process in windows.

Ding, we have a winner. Not supercomputer code. Sure, supercomputers are... super and all, but the biggest one only has around 1 million processing cores. How many windoze machines are out there, idling away?

Re:Bios code? (0)

Anonymous Coward | about 7 months ago | (#46001557)

Plus, with multicore machines, I might be using less than the maximum of cores and the rest just sit idle.

Re:Bios code? (0)

davester666 (731373) | about 7 months ago | (#46001359)

well, there are lots of machines that run Windows, so it does get run pretty frequently...

Re:Bios code? (1, Insightful)

ColdWetDog (752185) | about 7 months ago | (#46001389)

Well, all of those Windows reboots ought to bump the value up a fair bit.

Re:Bios code? (4, Insightful)

buchner.johannes (1139593) | about 7 months ago | (#46001467)

Lets approach this analytically.

What platform has the most computation power (number of CPUs x speed)?
Due to the increase in speed, we can disregard any CPUs built before 2000.

In number, mobile phones are the largest platform. So I would reckon, some GSM codec/cipher.

I think, for now, microcontrollers can be ignored, because they have much lower computational power.

Desktops and supercomputers have more power, but are they excessing the mobile phones? If they are a relevant portion, then across mobile phones and desktops, perhaps some code related to network access is the most-run.

I doubt it would be something kernel-related (like bootup, context-switching), because the kernel usually does not (or should not) take up a lot of the computing time. If we go by number of entries only, then perhaps some networking code.

If so, I'm not sure which layer to look into though. The lower ones are called more often, but media is not the same across use cases.

Re:Bios code? (0)

Anonymous Coward | about 7 months ago | (#46001247)

On a PC, BIOS usually run only at boot, except maybe ACPI.

BIOS also have various implementations as they are hardware dependent.

Re:Bios code? (0)

Anonymous Coward | about 7 months ago | (#46001553)

BIOS runs on assembler code, so it's outside the question... the most used commands for every languaje are the loop control commands 'for' and 'while', or the languaje's alternatives for them.

Hello World. (4, Funny)

SYSS Mouse (694626) | about 7 months ago | (#46001147)

Indeed.

"Hello World" (0)

Anonymous Coward | about 7 months ago | (#46001151)

"Hello World"

Who knows? (0)

Anonymous Coward | about 7 months ago | (#46001155)

Why would the Slashdot community know this?

Re:Who knows? (0)

Anonymous Coward | about 7 months ago | (#46001409)

We Slashdotters know everything. Or we think we do. Or we think we can win the argument even when neither party has any clue what the answer may actually be. Looking things up in cheating.

Now if you'll excuse me, I have some real work to do!

Slascode "asciifier" (5, Funny)

psergiu (67614) | about 7 months ago | (#46001161)

Must be the SlashCode "asciifier" which removes all non-ASCII characters in summaries and posts, thus mangling a lot of names, locations and math formulas.

The code triggered by crtl-alt-del (1)

SensitiveMale (155605) | about 7 months ago | (#46001167)

By a long shot

Solved. Next? (5, Insightful)

Anonymous Coward | about 7 months ago | (#46001171)

Question: What piece of code, in a non-assembler format, has been run the most often, ever, on this planet? By 'most often,' I mean the highest number of executions, regardless of CPU type.

Answer: Genetic code.

nope (0)

Anonymous Coward | about 7 months ago | (#46001413)

genetic code is not one genuine piece of code

Re:Solved. Next? (0)

Anonymous Coward | about 7 months ago | (#46001471)

Is genetic code more akin to executable code or some type of markup, or ...what?

3 line limit? (0)

Anonymous Coward | about 7 months ago | (#46001181)

Way too low. The answer is almost certainly:

1. An embedded CPU (Z80, at a guess)
2. Move a value into a register, increment the register, compare to a value.

Re:3 line limit? (0)

Anonymous Coward | about 7 months ago | (#46001357)

"in non-assembler format"

Something in deep in a loop in the graphics system (2)

Nutria (679911) | about 7 months ago | (#46001183)

of the Windows NT kernel that hasn't changed since the 1990s?

Re:Something in deep in a loop in the graphics sys (1)

Frosty Piss (770223) | about 7 months ago | (#46001363)

...of the Windows NT kernel that hasn't changed since the 1990s?

Because we know there's nothing like that in the Linux kernel...

Re:Something in deep in a loop in the graphics sys (1)

glavenoid (636808) | about 7 months ago | (#46001515)

Superintendent Chalmers: A graphics system... in the linux kernel... and hasn't changed... since the '90s?
Principal Skinner: Yes!
Superintendent Chalmers: May I see it?
Principal Skinner: Er, no.

Obv (0)

Anonymous Coward | about 7 months ago | (#46001185)

return 0;
C^

How could this ever be determined or verified? (3, Insightful)

dpbsmith (263124) | about 7 months ago | (#46001187)

How could this ever be more than a guess? How could it ever be determined, documented, or verified?

And for that matter, what is the definition of whether something is "the same" piece of code? For example, if the same source code compiles to different instructions on two platforms, are they running the same code?

How about if one of them actually compiles code that gets executed, and the other optimizes it out?

Bitcoin (0)

KingTank (631646) | about 7 months ago | (#46001197)

Probably some loop used in Bitcoin mining.

Re:Bitcoin (1)

ShanghaiBill (739463) | about 7 months ago | (#46001287)

Probably some loop used in Bitcoin mining.

Most bitcoins are mined with ASICs or FPGAs, so that doesn't count as "code" since the algorithm runs directly in hardware. If you believe that algorithms implemented in Verilog or VHDL should count, then the "winner" still wouldn't be bitcoin, but something like the VHDL that implements the system clock on a billion x86s.

Re:Bitcoin (4, Informative)

The Mighty Buzzard (878441) | about 7 months ago | (#46001341)

If it's not yet, it will be soon. At the moment the SHA-256 algorithm is being run in the neighborhood of 15,000,000,000,000,000 times per second by miners.

this is easy.... (1)

maxrate (886773) | about 7 months ago | (#46001207)

nop

IEFBR14 - Mainframe Null Program (5, Interesting)

Anonymous Coward | about 7 months ago | (#46001231)

http://en.wikipedia.org/wiki/IEFBR14

Any time a mainframe does anything with a dataset in a batch job (i.e. allocate, delete, whatever) it runs IEFBR14, a null program, as a target program to satisfy a requirement in how jobs are created.

This means that banks, retailers, governments, you name it--when they process the back-end records that make modern life functional, IEFBR14 usually gets invoked somewhere.

Re:IEFBR14 - Mainframe Null Program (5, Interesting)

sk999 (846068) | about 7 months ago | (#46001305)

This gets my vote. Ran it many times myself.

As an aside, this program, (which did absolutely nothing and, in binary format, was originally only 2 bytes long) had the dubious reputation of being the shortest program with a bug. It failed to clear the register that returned the error code. Oops.

Re:IEFBR14 - Mainframe Null Program (3, Insightful)

ihtoit (3393327) | about 7 months ago | (#46001493)

that is actually... really fucking sad. So sad it made me laugh. Is that in itself sad?

Some routine in a COBOL program (0)

Anonymous Coward | about 7 months ago | (#46001235)

That has been running on mainframes for the last 30 years or so....

Zen. (0)

Anonymous Coward | about 7 months ago | (#46001245)

NOP
NOP
NOP

and then we die.

The old classic... (2)

oldfogie (547102) | about 7 months ago | (#46001265)

printf("Hello, World!\n");

cls (0)

Anonymous Coward | about 7 months ago | (#46001267)

or some clearscreen derivative ...

Considering the number of Windows installations (1)

Mr. Sketch (111112) | about 7 months ago | (#46001269)

My guess would be the code in 'System Idle Process'.

Re:Considering the number of Windows installations (0)

Anonymous Coward | about 7 months ago | (#46001427)

> the code in 'System Idle Process'.
Wich is just one byte of ASM x86 : 0xF4 (HLT).

(At least that's how it is in my kernel, there might or not be some ACPI magic involved with NT's idle task)

Svchost.dll (1)

Anonymous Coward | about 7 months ago | (#46001271)

Go WinXP ftw!

Re:Svchost.dll (0)

Anonymous Coward | about 7 months ago | (#46001337)

I think it would be the idle loop on the Voyager spacecraft.

Initialize array to 0 (3, Interesting)

AuMatar (183847) | about 7 months ago | (#46001273)

for(int i=0; iSOME_LENGTH; i++){
      array[i] = 0;
}

Run 100s of times per program, for almost all programs

What is a 'Non Assembler Format'? (1, Insightful)

Bing Tsher E (943915) | about 7 months ago | (#46001293)

Assembly language is a high level language. It has macros and all sorts of constructs and stuff. I think the OP meant 'machine code.' If you've ever hand assembled machine code, or disassembled it from a hex dump, you know the difference.

Re:What is a 'Non Assembler Format'? (1)

marcello_dl (667940) | about 7 months ago | (#46001449)

> I think the OP meant 'machine code.'
machine code OTOH is what gets executed.

Probably some telphone code (3, Insightful)

stox (131684) | about 7 months ago | (#46001309)

eg. Call timer code in the 5ESS switch. Countless millions of times a day for over 30 years now. Probably the oldest code that we all depend on every day.

Re:Probably some telphone code (2)

rueger (210566) | about 7 months ago | (#46001385)

And thirty years on many people in Canada are still charged extra each month for "touch-tone service."

ob (4, Funny)

Hognoxious (631665) | about 7 months ago | (#46001311)

on anything {
    displayHWinPtrAddrPtrScreen( {492EC5F8-477F-438E}.color.const::BLUE status:{492EC5F8-477F-438E}.const.DEATH } )
}

Highest number of executions (2, Interesting)

Anonymous Coward | about 7 months ago | (#46001313)

The keyboard scan loop in Windows gets my vote.

Almost certainly microcode. (1)

foobar bazbot (3352433) | about 7 months ago | (#46001315)

As most of us know, and the rest of us ought to, x86 and many other CISC architectures have their instruction set decoupled from the internal microarchitecture by using microcode [wikipedia.org] .

Since multiple microcode instructions can run for one machine instruction, there's likely a sequence of three or more instructions used by many common instructions (I'm guessing something pertaining to checking for cache misses?) that thus gets executed more often than any single opcode on that machine.

Re:Almost certainly microcode. (1)

foobar bazbot (3352433) | about 7 months ago | (#46001417)

Gah! I missed the "in a non-assembler format" qualifier. I'm not sure what exactly that means, but I suppose it was intended to rule out smart-ass answers like mine.

easy (1)

Espectr0 (577637) | about 7 months ago | (#46001319)

i=i+1 or i+=1 or i++

For Windows users (1)

Circlotron (764156) | about 7 months ago | (#46001325)

Probably the embedded code in keyboards that handles CTRL-ALT-DEL.

Given that the C64 is the best selling PC ever... (1)

Quarters (18322) | about 7 months ago | (#46001333)

...and all you ever saw on store displays in the 80's was the result of:

10 PRINT "FUCK "
20 GOTO 10

I'd have to say that code is a contender.

Re:Given that the C64 is the best selling PC ever. (0)

Anonymous Coward | about 7 months ago | (#46001487)

The 1337 version of that:

10 FOR X=0 TO 35
20 PRINT TAB(X) "FUCK"
30 NEXT X
40 FOR X=34 TO 1 STEP -1
50 PRINT TAB(X) "FUCK"
60 NEXT X
70 GOTO 10

The extra 1337 version uses SIN(X) to feed the horizontal tab. The ultra mega 1337 version increments the vertical scroll register at each scan line resulting in so called FLD but that requires 6502 assembler.

Login.c (1)

Lawrence_Bird (67278) | about 7 months ago | (#46001339)

I'm fairly certain that all the BSD's including OS X use a standardized login.c Though my money would be on there being some system related windows code that has been the same since the 90s.

My guess (1)

bunratty (545641) | about 7 months ago | (#46001343)

Browser code for reloading a page... mostly on Slashdot. No, really, how about an inner loop of a Windows screensaver?

It's obvious... (1)

Tomahawk (1343) | about 7 months ago | (#46001349)

int main (argc, argv)
char **argv;
{

HTTP Get Request (0)

Anonymous Coward | about 7 months ago | (#46001367)

The code that sends

HTTP_GET("insert URL of porn site here")

the answer is 42 (0)

Anonymous Coward | about 7 months ago | (#46001373)

there are a lot of possibilities

Mp3-Player
Digital-Clock counting Seconds, Minutes or Hours ...
Code to send or receive Text messages
to handle GPS, GSM or WiFi ...

BUT what do you understand under " in a non-assembler format"
assembla is NOT the language of machines its just an low level programming-language - very close to the hardware
still it needed to be translated - so this exclusion is like to say " in an non-java ..." or "... non-python format"
http://en.wikipedia.org/wiki/Assembly_language

(sorry for not writing so good english)

bad (0)

Anonymous Coward | about 7 months ago | (#46001393)

sorry i mean bad english :)

Multiple choice? (1)

jo7hs2 (884069) | about 7 months ago | (#46001379)

I read this as a multiple choice question with a defined answer. I was disappointed when I figured it out, because I was hoping I had correctly picked D. Sigh.

I am not in a position to know, however... (0)

Anonymous Coward | about 7 months ago | (#46001381)

The place to look would be inside Windows graphic library or in the C++ string library. Toss up which is more code doing low level graphics (fonts probably) or comparing strings.

A friend who worked on Intel compatible processors mentioned that people tend to think computers do 'math' most often (which was true up until about 1985), but really the vast amount of work they do is string manipulation. Which implies that fast string instructions are more important than fast math instructions.

idle time (1)

Tomahawk (1343) | about 7 months ago | (#46001383)

Most OSes have some code that runs when other processes aren't running to measure the idle time. Certainly in Windows, this is a process in it's own right.
If the CPU is only 1% utilised, then the idle time process is consuming most of the remaining 99% (with the kernel using a bit of that).

So, I would hazard a guess that it's something in this.

(Or, for Windows, the code that swaps pages out to disk.)

Code bottleneck (0)

Anonymous Coward | about 7 months ago | (#46001395)

I don't know the answer, but this would definitely be a candidate for getting made into a machine instruction into the next CPU architecture, and the efficiency savings would be enormous.

code between semicolons? (1)

Haven (34895) | about 7 months ago | (#46001403)

i++

or

MOV EAX, [EBX]

or

INC EAX

XP kernel32.dll (1)

Billly Gates (198444) | about 7 months ago | (#46001407)

Man file has run and still continues to run on more computers than ever before and frankly refuses to die. It won't ever go away.

Nobody has suggested (0)

Anonymous Coward | about 7 months ago | (#46001433)

printf, itself? For debugging, for testing, for actual work...

Cell Phone code? (1)

MrLogic17 (233498) | about 7 months ago | (#46001435)

For an all-time high, you want a combination of a large number of devices, over a long period of time.

I'd say cell phones would do nicely. Probably something that runs often on all cells everywhere. Maybe something that sync's with cell towers, or handles jumping between towers.

Maybe text message handling code. How many texts are sent per day?

Question is very ambiguous (1)

YoungManKlaus (2773165) | about 7 months ago | (#46001441)

There is a bunch of problems with the question, esp. how you define your minimum code junk. If we really define as "any piece of code" then I'd go with some system functionality.

General search criteria:
- runs on many machines
- runs all the time
- execution time is extremely low
- runs already for a long time

My personal guess would be a version of memcpy, because
- it is used for virtually everything and everywhere
- the functionality is there since forever (so one can assume a stable code base with little changes, which is important to extend #4)
- its fast, so it can run lots of times in a small timeframe
- BAD: it might be actually written in assembler (doh!)

Hardware design languages (0)

Anonymous Coward | about 7 months ago | (#46001447)

I bet there is something common in hardware design, say Verilog, that is run continuously in billions of places in in your computer. How about the basic DRAM cell? I got 64 billion (8 GB of RAM) of those running all the time my computer is on.

If you want procedural code, I'd assume its some part of the X86 microcode. Maybe something in instruction decode that just runs on every instruction it decodes.

Some parts of IEEE floating point that are microcoded likely have several lines involved. I bet there is also microcode in the cach subsystem somewhere that runs a ton.

If you want higher level code, like us software guys write, thats easy: code up a loop that gets optimized out by the compiler, but would have run some insane number of times (2^66^64^64 or something), then claim that code was run the most.

Question is stupid btw.

I reckon... (1)

Jaruzel (804522) | about 7 months ago | (#46001477)

Ignoring the '3 line' thing because that's just dumb, my vote for the most run piece of code on the planet right now would be:

DNS. Either the part that queries or the part that answers.

Think about how many times that's being called at this moment, globally.

(And yes, this Ask /. is the stupidest ever.)

the windows interrupt handler (1)

MarcAuslander (517215) | about 7 months ago | (#46001491)

I agree this is impossible to measure but..

I'd guess the first level interrupt handler in windows (most of which is in C by the way) would be high on the list.

(Most processors go to sleep rather than running an idle loop, which sort of rules that out).

Pi (1)

sgt scrub (869860) | about 7 months ago | (#46001503)

The routine used in calculating Pi.

          int a=10000,b,c=2800,d,e,f[2801],g;main(){for(;b-c;)f[b++]=a/5;
          for(;d=0,g=c*2;c-=14,printf("%.4d",e+d/a),e=d%a)for(b=c;d+=f[b]*a,
          f[b]=d%--g,d/=g--,--b;d*=b);}

waiting for keyboard input (0)

Anonymous Coward | about 7 months ago | (#46001511)

getline() - low speed users

Microcontrollers... (1)

atari2600a (1892574) | about 7 months ago | (#46001513)

....are more of an early-70s thing. The 60s was all about integrated hand-engineered hard-wired logic, & even then it's a late-60s thing.

easy @ECHO (0)

Anonymous Coward | about 7 months ago | (#46001539)

@echo off

Borg's backdoor (1)

gmuslera (3436) | about 7 months ago | (#46001541)

The code for sleep() should be the most executed code.

boot up code (1)

zakeria (1031430) | about 7 months ago | (#46001563)

for windows
Load More Comments
Slashdot Login

Need an Account?

Forgot your password?

Submission Text Formatting Tips

We support a small subset of HTML, namely these tags:

  • b
  • i
  • p
  • br
  • a
  • ol
  • ul
  • li
  • dl
  • dt
  • dd
  • em
  • strong
  • tt
  • blockquote
  • div
  • quote
  • ecode

"ecode" can be used for code snippets, for example:

<ecode>    while(1) { do_something(); } </ecode>