Good morning, I am doing a study about buffer management to improve the 
performance of one program that does heavy I/O operations. After looking and 
reading from different softwares' source codes/texts one friend suggested me to 
take a look at the PostgreSQL code. I already took a look at the PostgreSQL 
buffer management modules ( freelist.c and cia ) but now I am a bit confused 
how the buffer read/write works, I tried to see how PostgreSQL does to get, for 
example, a char array from one buffer. Looking at rawpage.c I think that I 
found a good example using the following function calls sequence starting at 
function get_raw_page_internal():

StrategyGetBuffer->BufferAlloc->ReadBuffer_Common 
->ReadBufferExtended->BufferGetPage-> memcpy page to buf                        
                                                                
But I need more examples or explanations to understand it better. Does anyone 
have more examples or can recommend me some article that says something about 
this?

Thanks,
-Waldecir
                                          

Reply via email to