Partial shape subtracting using the Boolean modifier
It looks like you need to fix/flip/recalculate your normals on the top cylinder. To fix it... 

Select it

Tab into edit mode.

T to toggle the tool panel @ left.

Click the Shading/UV tab.

Click Flip Direction

Tab to toggle back to Object mode.

Ctrl + A >> Rotation &amp; Scale.

Try your boolean operation again, make sure the difference option is set.