Just to clear up what a huge page is!
Any architecture supporting virtual memory is required to map virtual addresses to physical addresses through an address translation mechanism. Recent translations are stored in a cache called a Translation Lookaside Buffer (TLB). TLB Coverage is defined as memory addressable through this cache without having to access the master tables in main memory. When the master table is used to resolve a translation, a TLB Miss is incurred. This can have as significant an impact on Clock cycles Per Instruction (CPI) as CPU cache misses[1]. To compound the problem, the percentage of memory covered by the TLB has decreased from about 10% of physical memory in early machines to approximately 0.01% today. As a means of alleviating this, modern processors support multiple page sizes, usually up to several megabytes, but gigabyte pages are also possible. The downside is that processors commonly require that physical memory for a page entry be contiguous.
So, that is what a huge page is. Linux supports huge pages but the support is a bit primitive in spots and bolted on at spots. Work is on-going to make it better although the public plans on what is happening are a bit spotty at best[2].
[1] Book: Computer Architecture a Quantitative Approach
[2] Some pretty minimal information at http://linux-mm.org/HugePages