Archive for the ‘memory’ Category

HUGE memory copy

This is from mm/memory.c: copy_huge_page_from_user(), which is to copy memory from userspace to kernel, where the kernel is setup with HUGE page as the page table.

Look at the cond_resched() in the last few lines.

What does that mean? It means the the kernel has voluntarily schedule itself out, and if there are other more urgent process that need to be executed, it will take over the ownership of the CPU to continue execution.

In general, any long or large operation: always introduce cond_resched() to ensure the kernel will not be hijacked by these long running process.

A study in modern computer cache

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

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

http://www.cs.iastate.edu/~prabhu/Tutorial/CACHE/mem_title.html

http://www.cs.umd.edu/class/sum2003/cmsc311/Notes/Memory/introCache.html

Simulator / Statistical generator:

http://www.ecs.umass.edu/ece/koren/architecture/Cache/frame2.htm

http://www.ece.northwestern.edu/~kcoloma/ece361/lectures/Lec14-cache.pdf

http://www.ece.ncsu.edu/arpers/Papers/HPCA07-TUTORIAL.pdf

https://s3-ap-southeast-1.amazonaws.com/erbuc/files/ed43d1e5-fb66-4ab4-b0ba-6444cd4071b0.pdf

https://3cs1204.files.wordpress.com/2014/01/shared-memory.pdf

and from above many other hardware theories:

https://goo.gl/imXKIz

Cache coherent protocol:

http://almakdi.com/uploads/3/4/1/4/3414215/1-3.pdf

and many other cache coherent stuff:

https://goo.gl/TKkhRy

http://rolfed.com/nehalem/nehalemPaper.pdf

http://anotacoes-ufpr.googlecode.com/svn/trunk/arquitetura/material_apoio/utexas-eua/11-Caches.pdf

http://research.microsoft.com:8082/pubs/173966/hashcache.pdf

This is an entire book on Computer Science:

https://github.com/ianw/bottomupcs

(or this: www.bottomupcs.com/csbu.pdf)

http://web.cs.swarthmore.edu/~kwebb/cs31/s15/bucs/memory.html

MIT cache related course notes:

https://goo.gl/wnXira

eg:
http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-172-performance-engineering-of-software-systems-fall-2010/video-lectures/lecture-4-computer-architecture-and-performance-engineering/

http://groups.csail.mit.edu/cag/ (MIT Computer Architecture Group)

Berkeley University related cache resources:

https://goo.gl/sgPyeX

These are cache related resources from CMU:

https://goo.gl/fJztpb

These are from Princeton:

https://goo.gl/aX2urj

And this one contains lots of advanced stuff:

http://www.csl.cornell.edu/courses/ece4750/handouts/

http://www.csl.cornell.edu/courses/ece4750/2013f/schedule.html

http://www.csl.cornell.edu/courses/ece4750/2013f/readings.html

http://rolfed.com/nehalem/nehalemPaper.pdf

https://www.youtube.com/watch?v=8dTMUigqBHM#t=353

http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-823-computer-system-architecture-fall-2005/readings/

http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-823-computer-system-architecture-fall-2005/lecture-notes/

%d bloggers like this: